该软件包需要NuGet客户端版本“ 3.6.0”或更高版本

时间:2018-07-11 01:28:05

标签: c# visual-studio nuget

我想安装Microsoft.EntityFrameworkCore及其组件。我将Visual Studio 2015与以前的NuGet Client版本3.5.0结合使用,现在我已按照错误报告的指示从https://www.nuget.org/downloads下载了3.6.0-rtm-2511(这是最新的)。我不知道为什么仍然需要3.6.0或更高版本的问题仍然存在。

如何以其他方式更新我的NuGet软件包管理器?
我无法在“工具”>“扩展和更新”>“更新”>“ Visual Studio Gallery”的“更新”中找到Visual Studio的Nuget软件包管理器。
我只能在“工具”>“扩展和更新”>“已安装”中看到它,但是没有更新,但是我注意到选中了“自动更新此扩展”。

PM控制台的结果

PM> install-package microsoft.entityframeworkcore.sqlserver  
  GET https://api.nuget.org/v3/registration3-gz-semver2/microsoft.entityframeworkcore.sqlserver/index.json  
  OK https://api.nuget.org/v3/registration3-gz-semver2/microsoft.entityframeworkcore.sqlserver/index.json 329ms  
Retrieving package 'Microsoft.EntityFrameworkCore.SqlServer 2.1.1' from 'nuget.org'.  
Install failed. Rolling back...  
Uninstalling NuGet package Microsoft.EntityFrameworkCore.SqlServer.2.1.1.  
Executing nuget actions took 162.34 ms  
install-package : The 'Microsoft.EntityFrameworkCore.SqlServer 2.1.1' package requires NuGet client version '3.6.0' or above, but the current NuGet 
version is '3.6.0-rtm-2511'. To upgrade NuGet, please go to http://docs.nuget.org/consume/installing-nuget  
At line:1 char:1  
+ install-package microsoft.entityframeworkcore.sqlserver  
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  
    + CategoryInfo          : NotSpecified: (:) [Install-Package], Exception  
    + FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PackageManagement.PowerShellCmdlets.InstallPackageCommand

Time Elapsed: 00:00:33.0573364

3 个答案:

答案 0 :(得分:4)

  

该软件包需要NuGet客户端版本“ 3.6.0”或更高版本

这是有关nuget的已知问题。 NuGet团队针对VS2017随附的Nuget 4修复了该问题,但2015年的用户却落后了。

门票:https://github.com/NuGet/Home/issues/6403

此外,NuGet团队将考虑解决问题。目前,尚无计划为VS 2015发布新版本的NuGet。

因此,如果要使用软件包Microsoft.EntityFrameworkCore.SqlServer 2.1.1,则必须将Visual Studio 2015更新为Visual Studio2017。或者,如果可接受该软件包的较低版本,则可以使用 Microsoft.EntityFrameworkCore.SqlServer 2.0.3

希望这会有所帮助。

答案 1 :(得分:0)

请尝试从Nuget软件包管理器(管理NuGet软件包)而不是从控制台安装软件包。程序包管理器将为您提供更新NUGET应用程序的选项。在弹出的“扩展和更新” 窗口的“ Visual Studio库” 部分中查看。

答案 2 :(得分:0)

编辑文件:

  • %userprofile%\。nuget \ packages \ microsoft.entityframeworkcore \ 3.1.8 \ microsoft.entityframeworkcore.nuspec
  • %userprofile%\。nuget \ packages \ microsoft.entityframeworkcore.abstractions \ 3.1.8 \ microsoft.entityframeworkcore.abstractions.nuspec
  • %userprofile%\。nuget \ packages \ microsoft.entityframeworkcore.analyzers \ 3.1.8 \ microsoft.entityframeworkcore.analyzers.nuspec
  • %userprofile%\。nuget \ packages \ microsoft.entityframeworkcore.relational \ 3.1.8 \ microsoft.entityframeworkcore.relational.nuspec
  • %userprofile%\。nuget \ packages \ microsoft.entityframeworkcore.tools \ 3.1.8 \ microsoft.entityframeworkcore.tools.nuspec

将第3行更改为:

<metadata minClientVersion="3.6">

收件人:

<metadata minClientVersion="3.6.0-rtm-2511">

现在返回软件包管理器控制台,然后再次尝试安装:

为我工作。