链接到程序集的非特定版本?
我在应用程序中遇到这样的错误,
无法加载文件或程序集 'MySql.Data,版本=6.2.2.0, 文化=中立,PublicKeyToken=c5687fc889699c44d' 或其依赖项之一。位于的 程序集的明显防御确实 与程序集参考不匹配。
这是预料之中的,因为此安装碰巧安装了以前版本的 .dll。
我可以告诉(在Vs2008中)链接到这个MySQL.data.dll而不关心它的版本吗? 项目中的 MYSQL.data.dll 引用有一个名为“Specific Version”的属性,尽管将其设置为 false 不会产生任何差异。
如果这个 .dll 与所需的二进制文件不兼容,我很清楚这意味着什么。
I'm getting an error like this in an application,
Could not load file or assembly
'MySql.Data, Version=6.2.2.0,
Culture=neutral,PublicKeyToken=c5687fc889699c44d'
or one of its depedencies. The located
assembly's manifest defenition does
not match the assembly reference.
Which is expected, as this installation happened to have a previous version of the .dll installed.
Can I tell(in Vs2008) to link to this MySQL.data.dll and not care about its version ?
The MYSQL.data.dll reference within the project has a property named "Specific Version", although setting it to false yields no difference.
I'm well aware of the implication if this .dll is binary incompatible with the one required.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
SpecificVersion 无法解决您的问题,它仅在编译时有效。你应该重建你的程序,将意外情况降到最低。或者您可以使用
元素 在 .exe.config 文件中。SpecificVersion can't solve your problem, that only works at compile time. You ought to rebuild your program for a minimum of surprises. Or you can use the
<bindingRedirect>
element in the .exe.config file.是的,你可以。选择引用的 dll,然后在属性窗口中将“特定版本”设置为 False。
Yes, you can. Select the referenced dll, and in the property windows set 'specific version' to False.