1

这是从 OP 编辑​​的。这是一个 VB .NET 4.0 WinForms 应用程序。这个项目涉及一个 mysql 数据源。目标 CPU 设置为任意。问题:在任何安装了 VS 2010 和 mysql 连接器的计算机上运行此应用程序时,它运行完美。在原始系统上安装(即未安装开发人员环境)但该机器确实安装了 .net framework 4.0 并且没有安装连接器的 mysql 服务器时,应用程序立即下降。所以为了解决这个问题,我安装了 mysql 连接器 MSI。这会立即解决客户端系统上的问题并运行。问题是,正如您从我的安装程序设置中看到的那样,MYSQL 所需的 2 个 DLL 文件实际上包含在安装包中,因此不需要单独安装。那么为什么我需要使用图像中的安装程序来安装 mysql 连接器?有任何想法吗?下面是程序使用的引用的屏幕截图,据我认为,除了 2 个 MYSQL DLL 文件之外,我不需要使用我的应用程序部署任何这些 DLL 文件。那么为什么会失败呢??下面是显示项目参考​​以及正在安装在应用程序文件夹中的安装程序文件的图像。如图所示,2 个 mysql dll 文件将放在应用程序文件夹中。还有一个屏幕截图显示了应用程序文件夹中每个 dll 的属性。

参考 应用程序安装文件 MySQL.Data.DLL 设置 MySQL.Data.Entity.DLL 设置

4

1 回答 1

1

你是在自问自答。

但是那台机器确实安装了.net framework 4.0,并且没有安装连接器的mysql服务器应用程序立即下降。

您不需要安装连接器 msi 包,但您需要在应用程序目录中包含两个 DLL 文件。每当您有一些依赖项时,您都需要将其与您的应用程序一起部署。

编辑从我的评论中引用的解决方案:

从您的更新看来,您的程序集版本不匹配,并且引用设置为特定版本 = True。在输出目录中检查开发人员机器上程序集的版本号,并检查您在客户端系统上安装的版本。(您可以将鼠标悬停在 DLL 上以阅读工具提示上的版本)。您可以尝试通过右键单击参考并选择属性将特定版本设置为 false,或者只是确保部署相同版本的程序集。您的程序正在寻找其编译的版本

于 2012-05-05T22:23:34.953 回答