无法加载文件或程序集'Microsoft.ReportViewer'

本文关键字:Microsoft ReportViewer 程序集 加载 文件 | 更新日期: 2023-09-27 18:13:29

我明白这个问题是如何发生的,我相信这是另一个dll,需要旧版本的'Microsoft.ReportViewer '。WebForms',我猜是'Microsoft.ReportViewer '。

在这被标记为重复之前,这类问题的答案只是说找到有问题的dll并"处理它"。

我究竟该怎么做,以允许违规dll使用旧的程序集,同时保持现有的一个在我的项目?

准确的错误是:

Could not load file or assembly 'Microsoft.ReportViewer.WebForms,
Version=8.0.0.0, Culture=neutral, 
PublicKeyToken=b03f5f7f11d50a3a' 
or one of its dependencies. 
The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

无法加载文件或程序集'Microsoft.ReportViewer'

你不能在一个项目中使用同一个DLL的两个版本。您可能在项目中直接引用DLL的版本A,但另一个引用本身引用DLL的版本B。在这种情况下,您别无选择,只能删除带有引用的引用(嵌套引用),或者引入嵌套引用想要使用的版本并使用it

我发现有一件事很有帮助,那就是对于我的项目引用的属性,我将"特定版本"设置为true。这将有助于减少应用程序进入GAC并获得比您希望的更新版本的DLL。