刚刚制作了一个简单的WPF MVVM应用程序使用实体框架6与一个MySQL数据库。当我试图在另一台机器上运行它时,它甚至在显示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连接器.NET 6.9.9 (仅限核心),应用程序现在启动。即使是应用程序文件夹有连接器安装的所有dll文件,如果没有安装,它也无法运行。
我试着在谷歌上搜索这个问题,但在任何地方都找不到。
编辑
所以问题是,为什么应用程序不能在没有安装连接器的情况下启动,即使我删除了程序文件中的mysql文件夹,它也能正常工作?
发布于 2016-12-20 08:31:25
已解决:
刚将这段代码添加到我的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>
谢谢,威尔,谢谢你的帮助
发布于 2016-12-19 17:22:37
连接器/网使您可以轻松地开发需要与MySQL安全、高性能数据连接的MySQL应用程序。它实现了所需的ADO.NET接口,并集成到ADO.NET感知工具中。开发人员可以使用他们选择的.NET语言构建应用程序。连接器/网是一个完全托管的ADO.NET驱动程序,用100%纯C#编写。它不使用MySQL C客户机库。
它还实现了从基于.net的应用程序连接到数据库的不同协议。因此,没有连接器,c#应用程序就无法连接到mysql数据库。
举个例子。您没有安装.net框架,您尝试使用所有exe和必需的文件运行windows应用程序。这是行不通的。这里的情况几乎是一样的。
因此,如果不安装连接器,注册表将不会被更新,并且windows将无法连接到mysql。
https://stackoverflow.com/questions/41227564
复制相似问题