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

Ano*_*nym 5 .net assemblies

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

无法加载文件或程序集'MySql.Data,Version = 6.2.2.0,Culture = neutral,PublicKeyToken = c5687fc889699c44d'或其依赖项之一.定位的程序集的清单防御与程序集引用不匹配.

这是预期的,因为此安装恰好安装了.dll的先前版本.

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

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

Han*_*ant 5

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

  • 如果它只是一个不会改变类的公共接口的错误修复,请不要更改[AssemblyVersion].仅更新[AssemblyFileVersion].例如,.NET 3.5程序集仍然是2.0.0.0.MySql更改版本的事实强烈暗示需要重新编译. (3认同)