c# - .net 无法加载文件或程序集 MySql.Data。强名称验证失败 (0x8013141A)

标签 c# mysql .net

错误:

An unhandled exception of type 'System.IO.FileLoadException' occurred in WindowsFormsApplication4.exe
Additional information: Could not load file or assembly 'MySql.Data, Version=8.0.8.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d' or one of its dependencies. Strong name validation failed. (Exception from HRESULT: 0x8013141A)

信息:

  • Visual Studio 2015
  • Windows 10 - x64
  • C#
  • MySQL 6.9.9

问题:

我已经使用 MySQL 创建了一个类库来对我的在线数据库运行各种查询。

在我单独的项目中包含 dll 之后,我使用的唯一代码行如下:(它抛出异常)

// Runs a simple select statement to find matches for 'John Doe' in my online MySQL database table... and stores results to a dataset
DataSet ds = MyDllNameSpace.Database.People.Load("John", "Doe");

App.Config 文件:

我的 dll 项目:(我没有签署这个项目)

<?xml version="1.0" encoding="utf-8"?>
<configuration>

<system.data>
    <DbProviderFactories>
      <remove invariant="MySql.Data.MySqlClient" />
      <add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=8.0.8.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
    </DbProviderFactories>
  </system.data></configuration>

我的独立项目:(我没有签署这个项目)

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
    </startup>


  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="MySql.Data" publicKeyToken="c5687fc88969c44d" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-8.0.8.0" newVersion="8.0.8.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
</configuration>

我搜索/尝试过的内容:

  • 确保在两个项目中使用相同版本的 MySQL
  • 将我的库和MySQL的dll放在我单独项目的bin文件夹中,并添加它们作为引用
  • 还尝试将我的库和 MySQL 的 dll 添加到单独的项目并选择“始终复制”
  • 更改 App.config 文件(假设问题出在这里?)
  • 最后,我尝试对 dll 项目和使用相同密码的 dll 的项目进行签名(选中对程序集进行签名)。这也无济于事。 :(

谢谢

最佳答案

您是否尝试过签署项目?这可能会消除您的错误。

也许关于您的错误的此链接会有所帮助:https://blogs.msdn.microsoft.com/keithmg/2012/03/20/strong-name-validation-failed-exception-from-hresult-0x8013141a/

或者这个 stackoverflow 问题: Strong Name Validation Failed

关于c# - .net 无法加载文件或程序集 MySql.Data。强名称验证失败 (0x8013141A),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45766913/

相关文章:

c# - 日期时间滴答构造时钟前进潜在的错误

c# - NHibernate - 问号而不是查询中的值

php - 从外部数据库 Joomla 中提取数据

MySQL 端口已被占用?

c# - 这些比较应该返回什么?

c# - 堆栈跟踪跳过一个方法?

c# - 如何使用 foreach 和 LINQ 构建 XDocument?

mysql - 如何使用触发器将两个列值相乘?

.net - 需要使用 .NET 支持复制 IDispatch*;不知道类(class)名称

c# - Math.NET Numerics 性能不佳且 CPU 使用率低