Shan “Smoke ’em” McArthur wonders during another mini truck stop if there is any way to find a blocking attribute using nothing but its id.
The error message usually looks like this:
A managed solution cannot overwrite the Attribute component with Id=e7840116-dead-beef-a5e5-8b5cb27e9509 for the CRM org noneofyourbusiness.crm.dynamics.com
That said, I have no way of looking up this field. That Guid is not referenced in the managed solution file that I am trying to import that is throwing that error, and the field ID is not displayed in any UI in CRM. With on-premise, I have to break out SQL tools, but at least I can look it up. It is different with every deployment so I can’t just look it up in a reference CRM implementation either.
Joel couldn’t resist dropping in his $0.02:
If you go to customization and open a field customization, you can find it by replacing the attribute id in the URL.
You might have to try different entity id’s, but I’ve been able to find one that way
Adam “Escalate This” Fish suggested the supported and a much shorter, I must say, path:
Would the Metadata Browser help?
Not convinced, Jim “Mr SDK” Daly pointed out the futility of the exercise and directed us all to learn C#:
You should be able to use metadata query for this.
Metadata browser wouldn’t be helpful unless you already know the entity it belongs to.
With metadata query you need to return all entities and all attributes, but then include the filter criteria for the specific attribute metadataid.
Then loop through all the entities looking for the one where the attributes collection length is 1.
No GUIDs were harmed or reused during this stop.
Bonus Double Dip
Episode 3 of the CRM Audio podcast is out now. We stage an exciting prize fight between CRM Online and On Premises, and Mitch Milam explains what’s the big deal with the new CRM Online web API. Listen here: http://crm.audio/episode-3-the-dynamics-crm-death-match/