为什么我在VS2019中可以安装NuGet v4.0.10,而在VS2012中却不能?

Why can I install NuGet v4.0.10 in VS2019 but not in VS2012?

我想在 Visual Studio 2012 年为一个针对 .Net 4.5 的项目获取 Npgsql。看来支持该 .Net 版本的最新 Npgsql 版本是 4.0.10。在 Visual Studio 2012 年,包源设置为 nuget.org,我得到以下信息:

PM> Install-Package Npgsql -Version 4.0.10
Install-Package : Unable to find version '4.0.10' of package 'Npgsql'.
At line:1 char:16
+ Install-Package <<<<  Npgsql -Version 4.0.10
    + CategoryInfo          : NotSpecified: (:) [Install-Package], InvalidOperationException
    + FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PowerShell.Commands.InstallPackageCommand

但是在Visual Studio2019年,同源,安装成功。我需要做什么才能将它安装到我的 VS2012 项目中?

But in Visual Studio 2019, with the same source, the package was installed successfully. What do I have to do to install it in my VS2012 project?

首先,感谢 Lex 与我们分享有用的信息。

由于VS2012太旧维护不了,Nuget的最高版本在VS2012v2.8.60318.667Npgsql 4.0.10 需要 nuget v4.xxx 或更高版本,VS2012 不支持。

解决方案

如果你想在VS2012中安装这个nuget包,你不能安装最新版本(4.0.10)的Npgsql nuget包,你应该安装哪个版本的nuget v2.8.60318.667支持。

并且 Npgsql 3.1.10 在我测试成功的 VS2012 中得到支持。

1)如果VS2012中的nuget版本不是最新的,你应该更新nuget版本到最新的v2.8.60318.667. (Tools-->Extensions and Updates-->Updates)

2) 通过 Tools-->Nuget Package Manager-->[= 打开 Package Manage Console 22=] 然后输入:

Install-Package Npgsql -Version 3.1.10

更新

只需安装旧版本的 Npgsql (<=3.1.10)

希望对您有所帮助。