C# [A] 无法将Microsoft.Reporting.WebForms.ReportHierarchy强制转换为[B]Microsoft.Reporting.WebForms.ReportHierarchy

C# [A] 无法将Microsoft.Reporting.WebForms.ReportHierarchy强制转换为[B]Microsoft.Reporting.WebForms.ReportHierarchy,c#,asp.net,.net,asp.net-mvc,webforms,C#,Asp.net,.net,Asp.net Mvc,Webforms,我正在构建一个asp.net C#应用程序,它使用按钮在视图中检索和显示RDLC报告。报告在localhost上加载时没有问题,但当放置在Windows Server 2012 R2标准64位上并通过IIS版本8.5提供时,错误: [A]Microsoft.Reporting.WebForms.ReportHierarchy无法强制转换为[B]Microsoft.Reporting.WebForms.ReportHierarchy。类型A源于“C:\Windows\assembly\GAC_MS

我正在构建一个asp.net C#应用程序,它使用按钮在视图中检索和显示RDLC报告。报告在localhost上加载时没有问题,但当放置在Windows Server 2012 R2标准64位上并通过IIS版本8.5提供时,错误:

[A]Microsoft.Reporting.WebForms.ReportHierarchy无法强制转换为[B]Microsoft.Reporting.WebForms.ReportHierarchy。类型A源于“C:\Windows\assembly\GAC_MSIL\Microsoft.ReportViewer.WebForms\12.0.0\Uuu 89845DCD80CC91\Microsoft.ReportViewer.WebForms\12.0.0\Uuu 89845DCD80CC91\Microsoft.ReportViewer.WebForms.dll”位置的上下文“默认值”中的“Microsoft.ReportViewer.WebForms,Version=12.0.0.0.0\Uuu 89845DCD80CC91”。类型B源于“C:\Windows\assembly\GAC_MSIL\Microsoft.ReportViewer.WebForms\11.0.0\Uuu 89845DCD80CC91\Microsoft.ReportViewer.WebForms\11.0.0\Uuu 89845DCD80CC91\Microsoft.ReportViewer.WebForms.dll”位置的上下文“默认值”中的“Microsoft.ReportViewer.WebForms,版本=11.0.0.0.0\Uuu 89845DCD80CC91\Microsoft.ReportViewer.WebForms.dll”。

在加载报告时给出。这将阻止在报告中加载嵌入的jpg图像

我使用的是Microsoft.ReportViewer.WebForms,版本=12.0.0.0,在web.config、.csproj或default.aspx中未引用版本11。 我浏览了msdn.microsoft.com、stackoverflow、谷歌和youtube。。。无济于事


导致此错误的原因是什么?是否有修复方法?

检查部署计算机上的GAC(或路径中的其他位置)。服务器上可能隐藏着另一个版本的dll。事实上,重读你的错误,我在错误中看到了GAC的路径,这就是正在发生的事情


我建议在您引用dll的项目中将“specific version”(特定版本)设置为true,以确保本地和远程计算机上使用相同的版本

我卸载了除报表查看器版本12之外的所有版本,但现在发现了错误无法加载文件或程序集“Microsoft.ReportViewer.WebForms,版本=11.0.0.0,区域性=中性,PublicKeyToken=89845dcd8080cc91”或其依赖项之一。系统找不到指定的文件“如何设置“特定版本”?在Visual Studio项目中添加引用时,可以设置引用程序集的属性。其中一个属性是“特定版本”“。您可以通过右键单击引用并选择属性来打开属性。但是,您的错误现在是“找不到版本11”,因此某些内容仍在引用旧版本。您的项目中的其他引用之一也可能反过来引用了此旧版本。您必须查明是否存在这种情况,然后将该引用更新为使用12的版本,或者全局返回到11,或者可能在web.config(请参阅)中使用绑定重定向在整个解决方案中搜索版本11引用,但未找到任何引用。尝试了特定的版本选项和重定向,但都出现了相同的错误。然后我尝试全局返回到11,但出现错误“.type(Microsoft.Reporting.WebForms.ReportViewer)与控件类型(Microsoft.Reporting.WebForms.ReportViewer)不兼容”。还有其他建议吗?