c# - 使用 Entity Framework 和 MySQL 数据库的 WPF MVVM 应用程序无法在未安装 MySqlConnector 的系统上启动

标签 c# mysql

刚刚使用 Entity Framework 6 和 MySQL 数据库制作了一个简单的 WPF MVVM 应用程序。当我尝试在另一台机器上运行它时,它甚至在显示 UI 之前就崩溃了

Problem signature:
Problem Event Name: CLR20r3
Problem Signature 01:   credit.exe
Problem Signature 02:   1.0.0.0
Problem Signature 03:   5857d84b
Problem Signature 04:   System.Data
Problem Signature 05:   4.0.30319.18408
Problem Signature 06:   52311175
Problem Signature 07:   9c4
Problem Signature 08:   2b
Problem Signature 09:   System.Windows.Markup.XamlParse
OS Version: 6.1.7601.2.1.0.768.3
Locale ID:  1026
Additional Information 1:   0a9e
Additional Information 2:   0a9e372d3b4ad19135b953a78882e789
Additional Information 3:   0a9e
Additional Information 4:   0a9e372d3b4ad19135b953a78882e789

因此,我制作了一个仅具有 .net 4.5 可再发行组件 的虚拟机,并尝试运行该应用程序,但没有成功。然后我安装了MySQL Connector Net 6.9.9(仅限核心),应用程序现在启动。即使应用程序文件夹包含连接器安装的所有 dll 文件,但如果不安装它就无法运行。

我尝试用谷歌搜索这个问题,但找不到任何提及它的地方。

编辑

所以问题是为什么在没有安装连接器的情况下应用程序无法启动并且即使我删除程序文件中的 mysql 文件夹也可以正常工作?

最佳答案

已解决:

刚刚将此代码添加到我的 app.config 中,现在无需安装连接器即可运行。

<system.data>
<DbProviderFactories>
  <remove invariant="System.Data.SQLite" />    
  <remove invariant="MySql.Data.MySqlClient" />
  <add name="SQLite Data Provider" description=".Net Framework Data Provider for SQLite" invariant="System.Data.SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" />
  <add name="MySQL" description="ADO.Net driver for MySQL" invariant="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data"/>
</DbProviderFactories>

谢谢威尔的帮助

关于c# - 使用 Entity Framework 和 MySQL 数据库的 WPF MVVM 应用程序无法在未安装 MySqlConnector 的系统上启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41227564/

相关文章:

c# - 使用 Entity Framework 6 和 C# 调用现有存储过程

c# - C#发送带附件的邮件

c# - 使用 C# 的异步 HttpWebRequest 调用

php - 返回数组中的 MySQL 行

javascript - 如何加快 Magento 电子商务网站的索引过程?

c# - 无法修改 IList 对象的成员

c# - 当 Unicode 0xFFFD 在字符串中时 IndexOf 匹配 - 错误或功能?

mysql - 在 MySQL 中调试 INNER JOIN

mysql - 如何选择超出范围的值?

php - 生成随机数并搜索数据库