none
关于winform 打包的问题 RRS feed

  • 问题

  • 程序是C# winfrom的,数据库用的是mysql

    MySql.Data 6.10.9.0
    MySql.Data.Entity.EF6  6.10.8.0

    用的是VS 2019的SETUP 打包的

    在开发机上,打包完以后可以正常使用并链接到数据库

    换了一台机器,安装好以后,就报
    具有固定名称 mysql.data.mysqlclient 的 ado.net 提供程序未在计算机或应用程序配置文件中注册或无法加载 

    是不是打包还少东西,还是什么。

    2020年11月8日 17:19

全部回复

  • Hi cpp_1,

    首先,我想先确定是否你的另一台机器中是否安装了mysql的数据库,如果没有请安装下。

    其次,如果该机器中已经安装了mysql的数据库,我建议你可以删除掉与MySql.Data.Entity.EF6 相关的引用,然后可以尝试安装nuget包->EntityFramework。

    下一步,在包装完后,添加对C:\Program Files (x86)\MySQL\Connector.NET 6.9.10\Assemblies\v4.5\MySql.Data.dll 和的 引用C:\Program Files (x86)\MySQL\Connector.NET 6.9.10\Assemblies\v4.5\MySql.Data.Entity.EF6.dll。

    最后,在app.config中更改相对应得代码:

    <entityFramework>
           <providers>
             <provider invariantName="MySql.Data.MySqlClient"
                  type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6" />
           </providers>
    </entityFramework>

    Best Regards,

    Jack


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    2020年11月9日 6:28
    版主
  • 1。我开发机上没有MYSQL数据库,MYSQL数据是远程机器

    2。在开发机上EntityFramework我是用nuge安装的

    3。在开发环境里面,这个节点也有

    4。出现问题的是我一台新机器,我想测试一下,打包后的安装程序,安装完以后能不能运行。(这一台机器上面有.netframework 框架,无MYSQL数据库)

         这个客户端是我准备分发下去的,不可能每一台客户机上面去安装一个MYSQL数据库。

    <provider invariantName="MySql.Data.MySqlClient"
                  type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6" />
    2020年11月10日 12:46
  • Hi cpp_1,

    感谢您的反馈,

    鉴于你的客户机没有msql数据库,我有下面的建议。

    1.你可以在你的程序中加入mysql安装向导,给每台机器都装下mysql。

    2.如果您觉得上面的方法可能不太好,我建议您可以使用sqlite,因为sqlite不需要安装任何引擎。下面是Sqlite的有关链接。

    Microsoft.Data.Sqlite overview

    Best Regards,

    Jack


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    2020年11月11日 7:37
    版主
  • 如果用方案一:“你可以在你的程序中加入mysql安装向导,给每台机器都装下mysql。”

    这个好像不是太合理吧,我的程序是一个客户端操作,在下发的时候,还要下面每一台客户机去安装一个MYSQL,数据库在机器上面。

    要是实在解决不了的话,我数据就换SQL SERVER吧。

    2020年11月12日 1:34