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

时间:2016-10-18 15:53:43

标签: c# asp.net web-config

我理解这个问题是如何发生的,而且我确信这是另一个dll,它需要一个旧版本的Microsoft.ReportViewer.WebForms'以及我'猜测' Microsoft.ReportViewer.Common'同样。

在将此标记为重复之前,对这类问题的回答只是说找到有问题的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)

1 个答案:

答案 0 :(得分:1)

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

我发现一件有用的事情是,对于项目引用的属性,我将“特定版本”设置为true。这将有助于减轻应用程序进入GAC并获得比您想要的更新版本的DLL。