You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

应用补丁后SSRS Report Manager报Http 500:重复mscorlib引用问题求助

解决SSRS补丁后mscorlib重复引用导致的HTTP 500错误

碰到过好几起类似的SSRS补丁后程序集冲突问题,给你几个经过验证的排查修复方向,按优先级来试:

1. 检查Report Manager的web.config重复引用

先找到SSRS安装目录下的ReportManager文件夹(默认路径一般是C:\Program Files\Microsoft SQL Server\MSRS11.MSSQLSERVER\Reporting Services\ReportManager),打开里面的web.config:

  • 搜索<assemblies>节点,看看是不是同时添加了多个mscorlib的引用(比如既有2.0版本又有4.x版本)
  • 如果发现重复项,删掉多余的那一行(SQL Server 2012依赖.NET 4.x,通常移除2.0的重复引用即可)
  • 保存文件后重启SSRS服务,测试Report Manager是否恢复

2. 验证GAC中的mscorlib版本

以管理员身份打开命令提示符,运行gacutil -l mscorlib查看全局程序集缓存里的版本:

  • 确认有没有多个2.0.0.0版本的mscorlib存在,或者版本信息异常
  • 如果发现异常,重新注册正确版本:运行gacutil -i "C:\Windows\Microsoft.NET\Framework\v2.0.50727\mscorlib.dll"(32位)或Framework64下的对应文件(64位系统),之后重启服务

3. 修复SSRS安装

补丁安装偶尔会损坏SSRS的文件或配置,试试修复:

  • 打开控制面板→程序和功能,找到Microsoft SQL Server 2012,右键选“更改”
  • 在安装向导里选择“修复”,跟着提示走完流程
  • 修复完成后重启SSRS服务,再检查Report Manager状态

4. 排查.NET Framework兼容性

SQL Server 2012依赖.NET Framework 4.x,补丁可能影响了.NET的配置:

  • 检查服务器上的.NET Framework 4.x是否完整,有没有缺失的更新
  • 运行.NET Framework修复工具(本地下载运行即可)修复可能的损坏
  • 修复后重启服务器,再测试SSRS

5. 回滚最近的补丁(最后手段)

如果以上方法都没用,说明补丁和当前SSRS版本存在兼容性问题:

  • 打开控制面板→程序和功能→查看已安装的更新
  • 找到最近安装的SQL Server或Windows补丁,右键卸载
  • 卸载完成后重启服务器,确认SSRS是否恢复正常

附你提供的错误日志(方便后续排查参考)

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.

内容的提问来源于stack exchange,提问作者PieF

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 04:10:31