我在32位计算机上玩VB2008,我完成了一个使用MySql Connector 6.4.4的应用程序。
我编译并发布了该应用程序,并尝试在另一台恰好是64位计算机的计算机上运行它,但它无法运行。
如何告诉VB创建包含所有必需DLL的安装包?
答案 0 :(得分:0)
在Visual Studio 2008和其他Visual Studio(2015,2017)或Visual Basic 2008 Express版本中,默认构建目标是“任何CPU”。
AnyCPU程序集在加载到64位进程时将JIT转换为64位代码,在加载到32位进程(如开发人员计算机)时为32位。
如果您编译为“任何CPU”并在x64平台上运行,那么您将无法加载32位dll,因为您的应用程序未在WOW64中启动,但这些dll需要在那里运行。如果你编译为x86,那么x64系统将在WOW64中运行你的应用程序,你将能够加载32位dll。
如果依赖项可以在任一环境中运行,则应选择“任何CPU”,但如果您具有32位依赖项,则选择x86。
您可以下载适用于64位的MySql Connector https://dev.mysql.com/downloads/connector/odbc/