Update 2011-07-13: This issue was fixed in the re-released version of the June 2011 Cumulative Update. If you have installed the initial release of the June 2011 Cumulative Update, it is recommended to install the re-released version to ensure the issues in the first release are resolved.

After installing Service Pack 1 for SharePoint 2010, my User Profile Synchronization began throwing errors in the Windows Event Log. The most concerning one was the following:

[shell]
The extensible extension returned an unsupported error.
The stack trace is:

“System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. —> System.PlatformNotSupportedException: Microsoft SharePoint is not supported with version 4.0.30319.235 of the Microsoft .Net Runtime.
at Microsoft.SharePoint.Administration.SPConfigurationDatabase.get_Farm()
at Microsoft.SharePoint.Administration.SPFarm.FindLocal(SPFarm& farm, Boolean& isJoined)
at Microsoft.SharePoint.WebControls.SPControl.SPWebEnsureSPControl(HttpContext context)
at Microsoft.SharePoint.SPContext.get_Current()
at Microsoft.Office.Server.UserProfiles.ProfileManagerInstance.GetApplicationProxy()
at Microsoft.Office.Server.UserProfiles.ProfileImportExportService.GetPartitionIds()
— End of inner exception stack trace —
at System.RuntimeMethodHandle._InvokeMethodFast(IRuntimeMethodInfo method, Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeType typeOwner)
at System.RuntimeMethodHandle.InvokeMethodFast(IRuntimeMethodInfo method, Object target, Object[] arguments, Signature sig, MethodAttributes methodAttributes, RuntimeType typeOwner)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at Microsoft.Office.Server.WebServiceDirectProxy.WebMethodInfo.Invoke(Object webServiceInstance, Object[] args)
at Microsoft.Office.Server.WebServiceDirectProxy.Invoke(String methodName, Object[] args)
at Microsoft.Office.Server.UserProfiles.ManagementAgent.ProfileImportExportDirect.GetPartitionIds()
at Microsoft.Office.Server.UserProfiles.ManagementAgent.ProfileImportExportExtension.Microsoft.MetadirectoryServices.IMAExtensibleFileImport.GenerateImportFile(String fileName, String connectTo, String user, String password, ConfigParameterCollection configParameters, Boolean fFullImport, TypeDescriptionCollection types, String& customData)
Forefront Identity Manager 4.0.2450.34”
[/shell]

It seemed like the Forefront Identity Manager began targeting .NET 4 all of a sudden instead of .NET 2/3.5. In the following config file, I found that a reference to .NET 4 had been added to the supported runtimes:

[shell]
C:\Program Files\Microsoft Office Servers\14.0\Synchronization Service\Bin\miiserver.exe.config
[/shell]

[xml]




[/xml]

I simply removed the v4.0 reference and it started working again.

[xml]



[/xml]

That’s it. Not sure why this was added in Service Pack 1, but this resolves the issues.

Update: Be sure to restart both Forefront Identity Manager services in the Windows Services and perform a full synchronization after making this change.


Pin It on Pinterest

Share This
%d bloggers like this: