错误。 Assembly' Microsoft.AspNet.Identity.EntityFramework是高于引用程序集' EntityFramework的版本

时间:2014-12-11 11:12:33

标签: asp.net entity-framework visual-studio-2012 asp.net-mvc-5

我有Visual Studio 2012专业版,我使用这些技术构建Web应用程序: -

  • asp.net mvc4。
  • 实体框架版本5.

现在我已经安装了一个更新到我的visual studio以支持asp.net mvc5,然后我下载了这个模板http://www.campusmvp.net/blog/extended-template-for-asp-net-mvc-5-from-visual-studio-2012

我已经基于模板创建了一个新的asp.net mvc5项目,但是当我运行应用程序时出现了这个错误: -

  

Assembly' Microsoft.AspNet.Identity.EntityFramework,Version = 1.0.0.0,   Culture = neutral,PublicKeyToken = 31bf3856ad364e35'使用   ' EntityFramework,Version = 6.0.0.0,Culture = neutral,   公钥= b77a5c561934e089'其版本高于   引用程序集' EntityFramework,Version = 5.0.0.0,   文化=中性,   公钥= b77a5c561934e089' c:\ Users .... \ Documents \ Visual Studio   2012 \ Projects \ WebApplication3 \ packages \ Microsoft.AspNet.Identity.EntityFramework.1.0.0 \ lib \ net45 \ Microsoft.AspNet.Identity.EntityFramework.dll WebApplication3

现在在我的应用程序web.config文件中,我有以下内容: -

configuration>
  <configSections>

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

  </configSections>

这意味着我正在使用EF 5,为什么它试图引用EF6?

1 个答案:

答案 0 :(得分:1)

问题在于ASP.NET Identity正在使用Entity Framework 6(因为您正在使用它的EF实现)。最简单的解决方案是将EF更新到版本6.另一种方法(但我不会称之为好)是添加程序集重定向。请记住,这种方式可能会引入其他问题。

如果您根本不使用ASP.NET Identity(默认位于模板中),您还可以删除模板中引用Identity的所有引用和代码。