SSRS 和重复的 mscorlib 引用



几天前,在将修补程序应用于服务器(Windows Server 2012 SR2,MS SQL 2012 SE [11.0.5388.0](后,我们的SSRS报表管理器停止工作(Http 500(。在日志文件中,我找到了对重复的 mscorlib 引用的引用。请问有人知道如何解决这个问题吗?

日志详细信息如下:

appdomainmanager!DefaultDomain!532c!01/19/2018-09:52:54:: e ERROR: AppDomain ReportManager_MSSQLSERVER_0 failed to start. Error: (0): error CS1703: An assembly with the same identity 'mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' has already been imported. Try removing one of the duplicate references.
library!DefaultDomain!532c!01/19/2018-09:52:54:: e ERROR: Throwing Microsoft.ReportingServices.Diagnostics.Utilities.ReportServerHttpRuntimeInternalException: Failed to create HTTP Runtime, Microsoft.ReportingServices.Diagnostics.Utilities.ReportServerHttpRuntimeInternalException: An internal or system error occurred in the HTTP Runtime object for application domain ReportManager_MSSQLSERVER_0.  ---> System.Web.HttpCompileException: (0): error CS1703: An assembly with the same identity 'mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' has already been imported. Try removing one of the duplicate references.
   at System.Web.Compilation.AssemblyBuilder.Compile()
   at System.Web.Compilation.BuildProvidersCompiler.PerformBuild()
   at System.Web.Compilation.ApplicationBuildProvider.GetGlobalAsaxBuildResult(Boolean isPrecompiledApp)
   at System.Web.Compilation.BuildManager.CompileGlobalAsax()
   at System.Web.Compilation.BuildManager.EnsureTopLevelFilesCompiled()
   at System.Web.Compilation.BuildManager.CallAppInitializeMethod()
   at System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters)
   at System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters)
   at System.Web.Hosting.ApplicationManager.CreateAppDomainWithHostingEnvironment(String appId, IApplicationHost appHost, HostingEnvironmentParameters hostingParameters)
   at System.Web.Hosting.ApplicationManager.CreateAppDomainWithHostingEnvironmentAndReportErrors(String appId, IApplicationHost appHost, HostingEnvironmentParameters hostingParameters)
   at System.Web.Hosting.ApplicationManager.GetAppDomainWithHostingEnvironment(String appId, IApplicationHost appHost, HostingEnvironmentParameters hostingParameters)
   at System.Web.Hosting.ApplicationManager.CreateObjectInternal(String appId, Type type, IApplicationHost appHost, Boolean failIfExists, HostingEnvironmentParameters hostingParameters)
   at System.Web.Hosting.ApplicationManager.CreateObject(String appId, Type type, String virtualPath, String physicalPath, Boolean failIfExists, Boolean throwOnError)
   at ReportingServicesHttpRuntime.RsHttpRuntime.Create(RsAppDomainType type, String vdir, String pdir, Int32& domainId)
   --- End of inner exception stack trace ---;
appdomainmanager!ReportManager_0-8!532c!01/19/2018-09:52:54:: i INFO: Appdomain:10 ReportManager_MSSQLSERVER_0-8-131608291715600412 unloading
library!DefaultDomain!532c!01/19/2018-09:52:54:: e ERROR: Throwing Microsoft.ReportingServices.Diagnostics.Utilities.ReportServerAppDomainManagerException: Failed to create Report Server HTTP Runtime, Microsoft.ReportingServices.Diagnostics.Utilities.ReportServerAppDomainManagerException: An error occurred when attempting to start the application domain ReportManager within the Report Server service. ---> Microsoft.ReportingServices.Diagnostics.Utilities.ReportServerHttpRuntimeInternalException: An internal or system error occurred in the HTTP Runtime object for application domain ReportManager_MSSQLSERVER_0.  ---> System.Web.HttpCompileException: (0): error CS1703: An assembly with the same identity 'mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' has already been imported. Try removing one of the duplicate references.
   --- End of inner exception stack trace ---;
rshost!rshost!532c!01/19/2018-09:52:54:: e ERROR: Failed to create HttpRuntime 80131500.
rshost!rshost!532c!01/19/2018-09:52:54:: e ERROR: Failed to get appdomain 80131500, pipeline=0x00000006483F3C20.
rshost!rshost!532c!01/19/2018-09:52:54:: e ERROR: Error state. Internal abort for pipeline=0x00000006483F3C20 ...
appdomainmanager!DefaultDomain!5090!01/19/2018-09:53:09:: i INFO: Appdomain:10 ReportManager_MSSQLSERVER_0-8-131608291715600412 unregistered.

有了Microsoft贡献,SSRS 问题已得到解决。

问题是下面提到的注册表项表示SSRS正在使用的.NET Framework。

理想情况下,"OnlyUseLatestCLR"项不应是注册表的一部分,但可能是由于安装了某些.NET应用程序,因此应用了此键。

此项强制 .NET 运行应用程序使用 .NET 4.0 框架,而 SSRS 使用 .NET 3.5 框架,因此它曾经失败,因为它无法使用 .NET 3.5 框架。

视窗注册表

最新更新