2012-02-06 66 views
2

在我的一个网站中,我添加了对IBM.DATA.DB2.dll(位于GAC,版本9.0.0.2)的引用,如以下文本中所示从Web的.config: -添加引用指向与GAC不同的版本

但是当我建立我的项目,它试图将它指向一个不同版本的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。

回答

3

我能够使用fuslogvw.exe解决我的问题。从日志中我发现在machine.config文件的路径“C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ 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。

0

你有“特定版本”属性设置为true?是否需要是版本?如果你可以链接到任何版本然后设置属性为false,这将允许您的项目链接到任何版本的程序集。

它也可以成为你在这个特定版本中的其他依赖关系之一的依赖。

如果您确实需要较旧的版本,并且较新的版本正在被其他引用所吸引,那么您将遇到不同的问题。这只能通过升级应用程序或查找引用旧版本的程序集版本来解决。

仔细检查是否有最新版本(如果您的版本是9.0.0.2并且Visual Studio正在寻找版本9.7.4.4,它看起来不是这样)。下载并安装该版本。