带有MySql.Data的.NET Core 2导致权限错误

h22fl7wq  于 2023-01-20  发布在  Mysql
关注(0)|答案(4)|浏览(98)

我正在使用Dapper,.NET Core 2和MySql.Data在Linux上创建一个小的REST API。不幸的是,我的连接一直出现这个错误:

Exception has occurred: CLR/System.IO.FileNotFoundException
An exception of type 'System.IO.FileNotFoundException' occurred in MySql.Data.dll but was not handled in user code: 'Could not load file or assembly 'System.Security.Permissions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'. The system cannot find the file specified.'
at MySql.Data.MySqlClient.MySqlConnection.AssertPermissions()
at MySql.Data.MySqlClient.MySqlConnection.Open()
at Dapper.SqlMapper.<QueryImpl>d__124`1.MoveNext()

有人知道发生了什么吗?

scyqe7ek

scyqe7ek1#

尝试从nuget添加System.Security.Permissions, Version=4.0.0.0

nwsw7zdq

nwsw7zdq2#

我通过升级到8.0.8-dmr解决了这个问题。

nvbavucw

nvbavucw3#

我不知道发生了什么,但我也有同样的问题。
我注意到,如果您查看解决方案下的DEPENDANCICES.NuGET节点,并查看"MySqlData(6.9.9)"并将其展开,您将看到一条警告消息,提示您使用.net Framework 4.6.1恢复了某些内容(至少在我的情况下)。
在我看来,作者的NuGet包中的某些内容是不正确的。

uqzxnwby

uqzxnwby4#

是的,这似乎是MySql.Data.dll的bug(我的版本是6.10.6,来自nugget-repository)。
我正在尝试连接到Maria DB,但遇到相同的错误:

Database not found on server with connection string in settings: Could not load file or assembly 'System.Security.Permissions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'.

error screenshot
我已经解决了:在Nuget-package www.example.com www.example.com中有3种“MySql.Data.dll”库mysql.data6.10.6.0:
1.网络核心应用程序2.0库
1.网络标准1.3库
1.网络标准2.0库
在使用netcoreapp 2.0或netstandard 2.0时-出现错误,在使用netstandard 1.3 lib时-最终正常工作,没有错误!

相关问题