我有一个c#asp.net mvc项目,它使用了实体框架6的mariadb。
这个项目是在visual studio 2017中完成的,我花了很长时间反复检查是否添加了正确的mysql连接器程序集引用,它们是以nuget包mysql.data 8.0.13和mysql.data.entityframework 8.0.13的形式添加的(两者都是oracle正式发布的),因为我在调试时浏览视图时遇到以下错误:
具有固定名称“mysql.data.mysqlclient”的ado.net提供程序未在计算机或应用程序配置文件中注册。
直到我放弃了它,并尝试安装mysql connector/net8.0,之后就成功了。未对 web.config
文件,而不是由nuget执行的文件。
我检查了放在下面的组件 %ProgramFiles%\MySql\Connector
它们与nuget拉取的有点相同。见鬼,我甚至删除了整个文件夹,它仍然有效。
有什么好处?nuget包是否缺少一些应该执行的步骤?
1条答案
按热度按时间xmq68pz91#
我怀疑connector/net8.0安装程序修改了
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\config\machine.config
文件,该文件由计算机上的所有.net应用程序共享。不幸的是,这是您计算机上的本地更改,这意味着您的应用程序在部署时可能无法正常工作。解决方案是将mysql.data添加到
app.config
(或Web.config
)文件。我不确定nuget包是否被设计成自动完成这个任务。根据oracle文档,将此信息添加到
app.config
: