我有Visual Studio 2012专业版,我使用这些技术构建Web应用程序: -
现在我已经安装了一个更新到我的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?
答案 0 :(得分:1)
问题在于ASP.NET Identity正在使用Entity Framework 6(因为您正在使用它的EF实现)。最简单的解决方案是将EF更新到版本6.另一种方法(但我不会称之为好)是添加程序集重定向。请记住,这种方式可能会引入其他问题。
如果您根本不使用ASP.NET Identity(默认位于模板中),您还可以删除模板中引用Identity的所有引用和代码。