在Visual Studio 2015中安装entity framework失败

我正在阅读/编写Adam Freeman的Apress书籍Pro ASP.NET MVC 5 。 在第7章(p.174)中,我们应该使用以下命令安装Entity Framework:

Install-Package EntityFramework -projectname SportsStore.Domain Install-Package EntityFramework -projectname SportsStore.WebUI 

但这失败了。 这是输出:

试图针对项目’SportsStore.Domain’收集包’EntityFramework.6.1.3’的依赖关系信息,目标是’.NETFramework,Version = v4.5.1′
尝试使用DependencyBehavior’Lowest’解决包’EntityFramework.6.1.3’的依赖关系
解决安装包’EntityFramework.6.1.3’的操作
解决了安装包’EntityFramework.6.1.3’的操作
将包’EntityFramework.6.1.3’添加到文件夹’C:\ git \ SportsStore \ packages’
将’EntityFramework.6.1.3’包添加到文件夹’C:\ git \ SportsStore \ packages’
将’EntityFramework.6.1.3’包添加到’packages.config’
执行脚本文件’C:\ git \ SportsStore \ packages \ EntityFramework.6.1.3 \ tools \ init.ps1′
执行脚本文件’C:\ git \ SportsStore \ packages \ EntityFramework.6.1.3 \ tools \ install.ps1′

输入“get-help EntityFramework”以查看所有可用的Entity Framework命令。
已成功将“EntityFramework 6.1.3”安装到SportsStore.Domain
安装失败。 滚回来…
从’packages.config’中删除了包’EntityFramework 6.1.3′
从文件夹’C:\ git \ SportsStore \ packages’中删除包’EntityFramework 6.1.3′
访问路径’C:\ git \ SportsStore \ packages \ EntityFramework.6.1.3 \ tools \ EntityFramework.PowerShell.Utility.dll’被拒绝。
访问路径’EntityFramework.PowerShell.Utility.dll’被拒绝。
从文件夹’C:\ git \ SportsStore \ packages’中删除了包’EntityFramework 6.1.3′
Install-Package:已添加具有相同密钥的项目。
在行:1 char:1
+ Install-Package EntityFramework -projectname SportsStore.Domain
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~
+ CategoryInfo:未指定:(:) [Install-Package],Exception
+ FullyQualifiedErrorId:NuGetCmdletUnhandledException,NuGet.PackageManagement.PowerShellCmdlets.InstallPackageCommand

无法完全卸载一个或多个软件包:’C:\ git \ SportsStore \ packages \ EntityFramework.6.1.3’。 重新启动Visual Studio以完成卸载。

这本书指示我们安装所有其他库的特定版本(例如Microsoft.Aspnet.Mvc 5.0.0 ),但没有提到要安装哪个版本的EF,所以我尝试安装不同版本的EF,但不断获取同样的错误。 ( Install failed. Rolling back...

我以管理员身份运行VS2015。

似乎NuGet本身导致了这些问题(可能与https://github.com/NuGet/Home/issues/1239有关,因为我看到的问题与该线程中讨论的相同’总是回滚’问题)

更新NuGet为我解决了它。 (从版本3.0.60624.657更新到3.1.60724.766

更新NuGet

这些引用是在项目早期设置的:

 SportsStore.WebUI -> SportsStore.Domain SportsStore.UnitTests -> SportsStore.Domain and SportsStore.WebUI 

我删除了每个项目的引用,然后按照指示运行了Entity Framework的install-package命令。 这工作得很好。

然后我重新添加了引用。

尝试删除解决方案中安装的所有EF nuget软件包,然后重新安装所需的唯一软件包。

尝试断开项目之间的引用,然后尝试安装EF。 希望它会有所帮助

重新启动Visual Studio作为管理员并重新安装包为我做了伎俩。