链接非特定版本的程序集?

时间:2010-01-13 10:25:29

标签: .net assemblies

我在应用程序中遇到这样的错误,

  

无法加载文件或程序集   'MySql.Data,Version = 6.2.2.0,   文化=中性公钥= c5687fc889699c44d”   或其中一个依赖。位于   集会的明显防御确实如此   与装配参考不匹配。

预计会出现这种情况,因为此安装恰好安装了以前版本的.dll。

我可以告诉(在Vs2008中)链接到这个MySQL.data.dll而不关心它的版本吗? 项目中的MYSQL.data.dll引用有一个名为“Specific Version”的属性,虽然将其设置为false不会产生任何差异。

如果这个.dll与所需的二进制文件不兼容,我很清楚这意味着什么。

2 个答案:

答案 0 :(得分:5)

SpecificVersion无法解决您的问题,只能在编译时运行。你应该重建你的程序,以尽量减少意外。或者您可以使用.exe.config文件中的<bindingRedirect> element

答案 1 :(得分:-2)

是的,你可以。选择引用的dll,并在属性窗口中将“特定版本”设置为False。