无法加载文件或程序集' mysql.data,version = 6.9.5.0

时间:2015-01-28 02:51:41

标签: mysql .net vb.net dll

我遇到的问题是我制作的Visual Basic 2013程序(在vb.net中),问题在于MySQL.data.dll,我尝试在GAC中将copy local更改为true,我已经尝试将我的MySQL.data.dll升级到最新版本,但无论我做什么它只有在运行它时MySQL.data.dll文件夹与可执行文件位于同一文件夹中才有效。

请注意,此错误仅发生在其他计算机上,而不是我的计算机上

这确实是错误:

[无法加载文件或程序集'MySql.data,Version = 6.9.5.0,Culture = neutral,PublicKeyToken = c5687fc88969c44d'或其依赖项之一。系统找不到指定的文件。]

请帮助,我不希望我的用户必须将MySQL.data.dll放在一个带有exe的文件中才能运行它(原因很明显。)

1 个答案:

答案 0 :(得分:2)

根据编译器输出中出现的版本检查MySQL程序集的版本。

请勿使用错误列表查看“输出”窗口,然后从下拉列表中选择“构建”并查找错误。

最可能的原因是您的应用程序链接到MySQL的特定(可能是多个)版本,并且引用的MySQL的特定版本存在冲突。您可能还想更改程序集引用的特定版本属性...

How exactly does the "Specific Version" property of an assembly reference work in Visual Studio?

asp server error ' Could not load file or assembly ' but the assembly is definitely there.

这很简单。您需要确保对程序集的引用是正确的。我会避免将MySQL安装到GAC中。如果您已卸载MSI,请不要安装MSI,然后下载zip存档

mysql-connector-net-6.9.5-noinstall.zip

将文件解压缩到文件夹中,引用解决方案中的那些程序集。如果您正在使用源代码管理,请将包含MySQL程序集的文件夹检查到源代码管理中,以及解决方案的其余部分。

如果您有多个引用MySQL的程序集,则应检查它们是否都引用相同的版本,来自同一位置和/或将“Specific Version”属性设置为false并将“Copy Local”设置为true。