Nuget error: 'EntityFramework 5.0.0' is not compatible with 'Microsoft.AspNet.Identity.EntityFramework 1.0.0

Nuget error: 'EntityFramework 5.0.0' is not compatible with 'Microsoft.AspNet.Identity.EntityFramework 1.0.0

我刚刚为 .Net 4.5 创建了一个 Web API 应用程序以使用 Unity(IoC 框架)进行一些测试*。

我使用 Nuget 添加了 Unity:

Install-Package Unity

然后我添加了 Mvc5 支持

Install-Package Unity.Mvc5

对于后端,我创建了一个 class 项目,其中包含一个 EF 模型,内容最少。我是这样注册的:

container.RegisterType<MyEntities>();

为了进行基本的流程测试,我添加了一个存储库并像这样注册它:

container.RegisterType<IMyRepository, MyRepository>();

据我所知,一切都已启动 运行,但是当我执行时,我收到 Web API 缺少对 EF 5 的引用的通知。

所以我尝试这样添加:

Install-Package EntityFramework -Version 5.0.0

但是我得到这个错误:

Unable to resolve dependencies. 'EntityFramework 5.0.0' is not compatible with 'Microsoft.AspNet.Identity.EntityFramework 1.0.0 constraint

Microsoft.AspNet.Identity.EntityFramework 引用是在 Web API 项目创建期间添加的,它(奇怪地)实际上是 2.0 版!

我想保留项目原样,因为我认为以上参考是用于身份验证?我会在某个时候需要它。

关于如何解决这个问题有什么想法吗?

Asp 身份 Entity Framework 2 依赖于 Entity Framework 版本 6.0.1 及更高版本。

See documentation

将您的 entity framework 更新到最新版本,然后尝试您的代码。

Update-Package EntityFramework -version 6.1.3