如何解决ASP.NET Web Forms中Microsoft.ReportViewer.Common.dll加载错误及部署疑问
解决方案
版本绑定重定向(优先推荐)
这个错误是因为应用程序尝试加载Microsoft.ReportViewer.Common, Version=15.0.0.0,但你的bin目录里实际是15.0.1537.0版本,版本不匹配导致的。不需要在服务器安装DLL,直接在Web.config中添加版本绑定重定向配置,让应用自动使用bin目录里的高版本文件:<configuration> <runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="Microsoft.ReportViewer.Common" publicKeyToken="89845dcd8080cc91" culture="neutral" /> <bindingRedirect oldVersion="15.0.0.0" newVersion="15.0.1537.0" /> </dependentAssembly> </assemblyBinding> </runtime> </configuration>虚拟目录所在服务器的处理
如果虚拟目录指向的是另一台服务器的文件共享,只需确保该共享目录的bin文件夹下存在Microsoft.ReportViewer.Common.dll(15.0.1537.0版本),同时给IIS应用池的运行账号配置该共享目录的读取权限即可,不需要在那台服务器安装DLL到全局程序集缓存(GAC)。不建议直接安装到服务器GAC
除非有多台应用共用这个版本的DLL,否则没必要把DLL安装到服务器的GAC中——这种方式会增加版本管理的复杂度,远不如绑定重定向+bin目录部署的方式灵活。
内容的提问来源于stack exchange,提问作者John H.
相关产品推荐
相关产品推荐

