gpt4 book ai didi

c# - 安装的应用程序无法加载MySQL.Data.DLL?

转载 作者:行者123 更新时间:2023-11-29 07:28:12 24 4
gpt4 key购买 nike

我有一个应用程序在我的系统上完美运行(无论是在 IDE 中还是已安装),但在任何其他系统上安装时都完全失败。

我移动了源代码的删节版本,看看我是否能找出问题所在,令我无限愤怒的是,我发现当程序试图引用另一个库中包含的类时发生错误使用 MySQL.Data.DLL 文件...

[在此插入无尽的咒骂、咒骂和其他 R 级语言]。

为什么?为什么? 为什么?! 为什么?!?! 严重 - 到底是什么?!

最佳答案

当您在应用程序中使用 MySql 并安装在客户端计算机上时,它将在客户端计算机中搜索 MySql.Data.dll 并转到路径

C:\Program Files (x86)\MySQL\MySQL Connector Net X.X.X\Assemblies\(假设您已在 C 盘安装了 MySql 连接器)

探索Assemblies文件夹,您会看到这个MySql.Data.dll检查此文件的版本,并类似地检查您的MySql.Data.dll它们必须相同。

The average layman user won't have the MySQL connector installed. What am I supposed to do when this program is released for general circulation and John Q. User can't run it because they don't have this obscure... thing installed?

您的应用程序必须打包其所有必备组件,因此当客户端安装它时,必备组件也应随您的软件一起安装。假设我使用 MySql Connector 6.9.6.0 开发了一个应用程序。

执行以下操作

  1. 将 MySql Connector 与您的软件版本打包
  2. 在 App.Config 文件中指定 MySql Connector 版本。

     <system.data>
    <DbProviderFactories>
    <clear/>
    <remove invariant="MySql.Data.MySqlClient"/>
    <add name="MySql.Data.MySqlClient" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data,Version=6.9.6.0, Culture=neutral,PublicKeyToken=c5687fc88969c44d"/>
    </DbProviderFactories>
    </system.data>

现在客户端计算机将专门搜索app.config中提到的版本。

顺便说一句,这两点是可选的,如果你不做这些,那么你就必须照顾好每一件事,就像你现在所做的那样。

关于c# - 安装的应用程序无法加载MySQL.Data.DLL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33749083/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com