Updated 29/June/2011; this issue has been fixed with the June CU and that means the described workaround below is obsolete now.
This post might be important for you when: You know and manage your metadata store; sometimes you changed a term and you are wondering why the changed term cannot be seen in a List where you are using the terms in a column.
You also know: Plan managed metadata
We are working currently on an issue where the terms are not updated and with this post I would like to provide you a workaround. Updated 02/May/2011 to improve the quality of the code below because when we use SPSite we should dispose it at the end.
Consider the following scenario:
Exception with ULS log entry 85si:
Exception occurred while hidden list being updated: System.IO.FileNotFoundException: The site with the id 6c03a437-0d6d-44a3-a542-6235b854a36e could not be found. at Microsoft.SharePoint.SPSite..ctor(Guid id, SPFarm farm, SPUrlZone zone, SPUserToken userToken) at Microsoft.SharePoint.SPSite..ctor(Guid id) at Microsoft.SharePoint.Taxonomy.UpdateHiddenListJobDefinition.ProcessProxy(MetadataWebServiceApplicationProxy proxy) at Microsoft.SharePoint.Taxonomy.UpdateHiddenListJobDefinition.Execute(Guid targetInstanceId)
To work around the issue and update the Taxonomy Hidden list manually you can use the following PowerShell script as follows.
With the blog post experience from my colleague Stefan I built the following script.
I am suggesting to use the PowerShell ISE. Start the ISE as Machine Administrator.
Put the following code lines into a text file and save it as e.g. UpdateTaxonomyHiddenList.ps1.
$Assem = ( "Microsoft.SharePoint, Version=188.8.131.52, Culture=neutral, PublicKeyToken=71e9bce111e9429c" , "Microsoft.SharePoint.Taxonomy, Version=184.108.40.206, Culture=neutral, PublicKeyToken=71e9bce111e9429c" ) $Source = @"
public static class TaxonomyHiddenList
public static void Update(string SiteUrl)
SPSite Site2Update = new SPSite(SiteUrl);
Add-Type -ReferencedAssemblies $Assem -TypeDefinition $Source -Language CSharp
Run the script above one time.
After that you can start on the command line to update the TaxonomyHidden List with:
Do this for all sites where you have updated terms.