我们有这个旧应用程序需要移植到新机器上,但该应用程序专门使用 6.3.0.0 mySql 连接器运行。mySql 站点只有 6.3.8 作为最接近的。试图得到一个错误。最新的连接器也是如此。(为 Windows Server 2008 R2 64 位系统安装这个)
到处都找不到。我得到的错误仅供参考。
由于编译的 dll 和加载的 dll 之间的程序集不匹配,您会收到此错误。它与您的目标计算机是 64 位无关,因为没有用于 MySQL 的 64 位版本的 Ado.Net 连接器。所有连接器二进制文件都是针对“任何 CPU”编译的,它应该适用于 32 位和 64 位机器。
我检查了 Sam 在他的链接中提供的 dll,它再次针对“任何 CPU”,而不是“x64”。检查你可以做
System.Reflection.AssemblyName.GetAssemblyName("MySql.Data.dll").ProcessorArchitecture.ToString();
这给出了MSIL
这意味着“任何CPU”。
或者你甚至可以这样做:
Start/Programs/Microsoft Visual Studio xx/Visual Studio Tools/Command Prompt
cd "directory to dll"
corflags MySql.Data.dll
这将给出PE = PE32 and 32BIT = 0
这意味着它在“任何 CPU”平台上编译。