如何修复异常无法加载文件或程序集'EntityFramework,Version = 4.0.0.0 [...]'或其依赖项之一

时间:2013-11-01 05:10:56

标签: c# .net entity-framework

我安装了EF6,然后意识到MySQL尚未在其Connector / Net上提供支持。所以我自然而然地回过头来,现在我得到了标题中引用的错误。

我的app.config看起来像这样

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
  </configSections>
  <entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
      <parameters>
        <parameter value="v11.0" />
      </parameters>
    </defaultConnectionFactory>
  </entityFramework>
</configuration>

我的参考资料如下:

名称: EntityFramework.dll
创建者: Microsoft Corporation
Verison: 5.0.20627.0

此外,我引用了以下程序集:

名称:System.Data
版本:4.0.0.0
文件版本:4.030319.17929

名称:System.Data.Entity
版本:4.0.0.0
文件版本:4.030319.17929

我得到的例外的确切文本是:

  

为entityFramework创建配置节处理程序时出错:无法加载文件或程序集'EntityFramework,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'或其依赖项之一。定位的程序集的清单定义与程序集引用不匹配。 (HRESULT异常:0x80131040)

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

您的配置参考版本和已安装的版本不匹配。您应该更改以下代码行,因为您引用了entityframework版本5.0.0.0 dll。所以只需尝试替换以下代码行。

<section name="entityFramework" 
          type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" 
          requirePermission="false" />