SSRS Integrated Mode Issue Microsoft.ReportingServices.Alerting.ServiceContract
Exception: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.ReportingServices.Alerting.ServiceContract, Version=14.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91' or one of its dependencies. The system cannot find the file specified.
After very long time I had to patch my SharePoint farm and during the UAT I was facing this issue.Unfortunately this was the first time I ever faced this issue and it took me pretty good time to find the solution.If you also have a SharePoint farm with SSRS Integrated mode and Report Viewer Web Part Deployed to your farm, then you might face this issue.Issue:After successful installation of Binaries of SharePoint 2013 CU March 2019 Every time when Product Configuration wizard executed on the Server, I got this error in PSDiagonstic
Error Log
Exception: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.ReportingServices.Alerting.ServiceContract, Version=14.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91' or one of its dependencies. The system cannot find the file specified.
at Microsoft.ReportingServices.SharePoint.SharedService.Client.ReportingWebServiceApplicationProxy.InitializeEndpointChannel()
--- 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 System.Reflection.ConstructorInfo.Invoke(Object[] parameters)
at Microsoft.SharePoint.Administration.SPAutoSerializingObject.GetInstanceFromType(Type type, String typename)
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.ResolveObjectAndClassVersions(SPLog log)
at Microsoft.SharePoint.Upgrade.SPConfigurationDatabaseSequence2.Upgrade()
at Microsoft.SharePoint.Upgrade.SPUpgradeSession.Upgrade(Object o, Boolean bRecurse)
at Microsoft.SharePoint.Upgrade.SPManager.BootStrap(Guid sessionId, SPUpgradeOperationFlags flags)
at Microsoft.SharePoint.PostSetupConfiguration.UpgradeBootstrapTask.Run()
at Microsoft.SharePoint.PostSetupConfiguration.TaskThread.ExecuteTask()
Resolution
This is caused by the WSP solution related to the Report Viewer Web part and Microsoft has warned regarding the same.
And resolution suggested in this article (https://docs.microsoft.com/en-us/sql/reporting-services/report-server-sharepoint/deploy-report-viewer-web-part?view=sql-server-2017) was to
1.Remove the Report Viewer web part
2.Uninstall SSRS
3.Reinstall the Report Viewer web part
In my scenario our BI Team was not using this web part in UAT farm, hence I simply uninstall and remove the farm solution from the SharePoint Farm.
Problem Solved, Next time PSConfig executed like a charm.
Cheers