All timer jobs fail to run and the ULS log displays the message below. Or, the "Get-SPTimerJob" PowerShell commandlet throws the same message.
System.TypeInitializationException: The type initializer for 'Metalogix.Fluent.TimerJobs.ManagedJobBase' threw an exception. ---> System.IO.FileNotFoundException: Could not load file or assembly 'Metalogix.SmartThreadPool, Version=2.0.0.0, Culture=neutral, PublicKeyToken=3b240fac3e39fc03' or one of its dependencies. The system cannot find the file specified.
at Metalogix.Fluent.TimerJobs.ManagedJobBase..cctor() --- End of inner exception stack trace ---
at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
at System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at Microsoft.SharePoint.Administration.SPAutoSerializingObject.GetInstanceFromType(Type type, String typename)
at Microsoft.SharePoint.Administration.SPPersistedObject.GetInstance(XmlNode xml, Guid classId, Boolean bResolveMissingTypes)
at Microsoft.SharePoint.Administration.SPConfigurationDatabase.GetObject(Guid id, Guid parentId, Guid type, String name, SPObjectStatus status, Byte[] versionBuffer, String xml)
at Microsoft.SharePoint.Administration.SPConfigurationDatabase.FetchObject(Guid id)
at Microsoft.SharePoint.Administration.SPConfigurationDatabase.GetObject(Guid id, Boolean checkInMemoryCache, Boolean checkFileSystemCache)
at Microsoft.SharePoint.Administration.SPConfigurationDatabase.Microsoft.SharePoint.Administration.ISPPersistedStoreProvider.GetObject(Guid id)
at Microsoft.SharePoint.Administration.SPPersistedObjectCollection`1.get_Item(Guid objId)
at Microsoft.SharePoint.Administration.SPPersistedObjectCollection`1.<GetEnumeratorImpl>d__0.MoveNext()
at Microsoft.SharePoint.PowerShell.SPCmdletGetTimerJob.<RetrieveDataObjects>d__0.MoveNext()
at Microsoft.SharePoint.PowerShell.SPGetCmdletBase`1.WriteResult(IEnumerable`1 dataObjects)
at Microsoft.SharePoint.PowerShell.SPCmdlet.ProcessRecord()
This generally happens due to incomplete removal of Organizer during upgrade/uninstall. It could be due to the Organizer timer job being active at the time of the uninstall or some other situation where files are locked and the removal is left incomplete.
IMPORTANT: Content Matrix Organizer is no longer supported or available as of version 9.0
We are always looking at ways to make the Organizer installation/uninstallation more resilient. However, once you are in this situation, it can be quite difficult to recover since a standard "Repair" doesn't work properly. We developed a repair script that helps you fix the issue. The script will add a bunch of assemblies to the GAC, remove the problem timer job definition (if there is one), and then optionally take the assemblies back out of the GAC as shown below.
.\repair.ps1 –clean
Note: The file in this article is packaged with DLLs from Content Matrix 6.2.x.x. The DLLs are Content Matrix and SharePoint version-specific. Please contact Support if you are running a different version of the tool so we can package the respective DLLs for you.
© ALL RIGHTS RESERVED. Terms of Use Privacy Cookie Preference Center