在我的一个网站中,我添加了对IBM.DATA.DB2.dll(位于GAC,版本9.0.0.2中)的引用,如下面的文本所示,来自web.config: -
但是当我构建我的项目时,它会尝试将其指向不同版本的dll,如下面的错误mrssage所示: -
“无法加载文件或程序集'IBM.Data.DB2,Version = 9.7.4.4,Culture = neutral,PublicKeyToken = 7c307b91aa13d208'或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。(来自HRESULT的异常:0x80131040)“
我在GAC(C:// Windows / Assemblies)中检查过,我看不到对版本9.7.4.4的任何引用。我很感激我能得到的任何帮助。
谢谢, ABHI。
答案 0 :(得分:3)
我能够使用fuslogvw.exe解决我的问题。从日志中我发现路径“C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Config”中的machine.config文件中存在版本重定向,它将引用9.0.0.2重定向到9.7。 4.4。
<dependentAssembly>
<assemblyIdentity name="IBM.Data.DB2" publicKeyToken="7c307b91aa13d208" culture="" />
<bindingRedirect oldVersion="8.0.0.0-9.0.0.4" newVersion="9.7.7.4" />
</dependentAssembly>
将9.7.4.4更改为9.0.0.2解决了探测问题。
谢谢, ABHI。
答案 1 :(得分:0)
你有&#34;特定版本&#34;属性设置为true
?它需要是那个版本吗?如果您可以链接到任何版本,请将该属性设置为false
。这将允许您的项目链接到任何版本的程序集。
它也可能是您的其他依赖项之一依赖于此特定版本。
如果您确实需要较旧的版本而较新的版本被其他参考资料引入,则您会遇到其他问题。这只能通过升级您的应用程序或查找引用旧版本的3 rd 程序集的版本来解决。
仔细检查您是否获得了最新版本(如果您使用的是版本9.0.0.2且Visual Studio正在寻找版本9.7.4.4,则它看起来不像)。下载并安装该版本。