Skip to main content

Power Automate: SharePoint Copy file action fails on file names with a plus (+) sign

CRM 2016: The attribute with AttributeId = 'guid' was not found in the MetadataCache.

During the export of an unmanged solution I always received the following error message from my CRM 2016 SP1 OnPremise development system:

The attribute with AttributeId = '023bda49-9dfa-401e-b348-9374a4141186' was not found in the MetadataCache.

Then I tried to remember what I did since the last solution version.
=> Yes, there was a field that I deleted, because the customer does not need it anymore.

Because I am working on-premise it was easy to check the database for the specific attribute.
First, I searched in the attribute table:

SELECT [AttributeId]
  FROM [Dev_MSCRM].[MetadataSchema].[Attribute]
  where [AttributeId] = '023bda49-9dfa-401e-b348-9374a4141186'

=> result was nothing

I concluded CRM deleted the field in this table but missed to remove the attribute from our customer solution.

Next thing was to check the solutioncomponent table:

SELECT [ModifiedOn]
      ,[CreatedBy]
      ,[ObjectId]
      ,[IsMetadata]
      ,[ModifiedBy]
      ,[SolutionId]
      ,[SolutionComponentId]
      ,[CreatedOn]
      ,[VersionNumber]
      ,[ComponentType]
      ,[CreatedOnBehalfBy]
      ,[ModifiedOnBehalfBy]
      ,[RootComponentBehavior]
      ,[RootSolutionComponentId]
  FROM [Dev_MSCRM].[dbo].[SolutionComponentBase]
  where ObjectId = '023bda49-9dfa-401e-b348-9374a4141186'

=> There we go! There is still an entry where it should not be :(

Now I backed up this record from this table and deleted this record from the solutioncomponentbase table:

DELETE FROM [dbo].[SolutionComponentBase]
      WHERE ObjectId = '023bda49-9dfa-401e-b348-9374a4141186'

Next time I tried to export the solution it worked just perfectly.
Problem solved!

Comments

  1. I think a safer way to accomplish this might be to remove the offending entity (the one the field was removed from) and add it back to the solution.

    ReplyDelete

Post a Comment

Popular posts from this blog

Yet Another Address Autocomplete PCF Control–powered by Bing

In this blog post I will not go into detail in how to install all the pre-requisites that are required to build and run PCF controls. My goal was to build a new PCF control and get into coding of PCF controls as fast as possible. Here are a few links to articles that will help you installing the pre-requisites (Microsoft PowerApps CLI)  https://docs.microsoft.com/en-us/powerapps/developer/component-framework/get-powerapps-cli Other good references to get into this topic: https://toddbaginski.com/blog/how-to-create-a-powerapps-pcf-control/ https://docs.microsoft.com/en-us/powerapps/developer/component-framework/create-custom-controls-using-pcf I looked through the Guido Preite’s https://pcf.gallery/ which will help you find appropriate use cases / examples for your own needs. It did not take very long to find a simple example to start with: Andrew Butenko's https://pcf.gallery/address-autocomplete/ A few moments later I had the idea to create yet another address autocomplete

Regarding SPFieldMultiLineText (Add HTML/URL content to a field) programmatically

I recently tried so set some HTML content in a SharePoint list column of type SPFieldMultiLineText. My first approach was this piece of code: SPFieldMultiLineText field = item.Fields.GetFieldByInternalName( "Associated Documents" ) as SPFieldMultiLineText; StringBuilder docList = new StringBuilder(); docList.Append( " " ); foreach (DataRow docRow in addDocs) { DataRow[] parent = dr.Table.DataSet.Tables[0].Select( "DOK_ID=" + docRow[ "DOK_MGD_ID" ].ToString()); if (parent != null && parent.Length > 0) { docList.AppendFormat( " {1} " , parent[0][ "FilePath" ].ToString(), parent[0][ "Title" ].ToString()); } } if (docList.Length > 0) { // remove trailing tag docList.Remove(docList.Length-5, 5); } docList.Append( " " ); string newValue = docList.ToString(); item[field.Title] = newValue; What this code does is to get all associated documents to the main document and to add these docu