问题的标题几乎说明了一切。
我想这样做,因为每次我从安装程序项目发布或创建安装程序时,它总是失败,因为它无法连接到 MySql。
错误说:
Unable to find the requested .Net Framework Data Provider. It may not be installed.
在我的开发 PC 中,MySql.Data 已添加到 GAC,因此不会产生任何问题。
可以吗?我已经设置了 Copy Local = true。
这是我当前的 FluentConfiguration :
_sessionFactory = Fluently.Configure()
.Database(MySQLConfiguration
.Standard
.ConnectionString(_systemSetting.ConnectionString)
.Provider("MySql.Data.MySqlClient")
.Driver<NHibernate.Driver.MySqlDataDriver>())
.Mappings(m => m.FluentMappings.AddFromAssemblyOf<EmployeeMap>())
.BuildSessionFactory();
谢谢。
更新:
最佳答案
MySql.data.dll
必须位于包含您发布的代码的程序集旁边。还有 .Provider("MySql.Data.MySqlClient")
和 .Driver<NHibernate.Driver.MySqlDataDriver>()
是多余的,因为您已经指定了 MySQLConfiguration.Standard
它已经设置了驱动程序和提供程序。
关于c# - GAC 中没有 MySql.Data 的 Fluent NHibernate 连接到 MySql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17657649/