Nuget 版本不正确?

Posted

技术标签:

【中文标题】Nuget 版本不正确?【英文标题】:Nuget version not correct? 【发布时间】:2014-12-23 18:11:27 【问题描述】:

我有一个无法编译的项目。当我尝试这样做时,我收到以下错误:

The 'Microsoft.Bcl.Build 1.0.14' package requires NuGet client version '2.8.1' or above, but the current NuGet version is '2.7.41115.310'.  

通常这很简单。搜索后我找到了这个指南: http://www.daimto.com/package-requires-nuget-client-version-x/

这说明了如何升级我的 Nuget 客户端版本。但是,当我按照这些步骤操作时,我发现我已经在使用最新版本的 Nuget:2.8.5

然而,出于某种原因,Visual Studio 2013 Ultimate 使用的是旧版本,我不明白为什么。

我的 Visual Studio Ultimate 2013 安装是在卸载 Visual Studio for Web Express 2012 之后全新安装的。以前的版本给我带来了相当多的问题,因此我将其删除并移至 2013。我想知道是否有些cofig 文件已通过,但我不能确定。

我该如何解决这个问题?

【问题讨论】:

【参考方案1】:

ToolsExtensions and UpdatesInstalled,卸载“NuGet Package Manager”并重新安装。

【讨论】:

完美运行,谢谢!这自然会安装最新版本的 NuGet。 别忘了重启 Visual Studio!【参考方案2】:

所以,在四处寻找后,我没有找到答案,所以我决定查看项目文件夹。碰巧我在主文件夹中有 NuGet.exe 的主版本,2.8.5,但该项目离该主文件夹不远。

这样,当我下载项目时,它只是使用从 TFS 中提取的 NuGet 版本(或者我假设如此),这就是问题所在 - 该版本是 Nuget.exe 2.7.4。

在替换“Nuget.exe”文件(在项目的 /.nuget 文件夹中找到)后,项目最终编译并且一切都重新开始工作。

【讨论】:

【参考方案3】:

您也可以尝试直接从Tools 更新Nuget 包管理器 > Extensions and Updates

【讨论】:

【参考方案4】:

就我而言,Visual Studio 的待定更新修复了 nuget 版本。 该更新是 VisualStudio 2013 的“更新 5”。

更新列在菜单ToolsExtensions and Updates 的标签Updates 下。

【讨论】:

【参考方案5】:

我从最近克隆的分支中收到此错误,但(与上述解决方案相反)发现我在项目目录中的 Nuget 版本与我的解决方案目录中的相同。

我通过右键单击解决方案并为解决方案管理 Nuget 包解决了这个问题。弹出的 Nuget 对话框说软件包丢失并要求我恢复它们。下载后,项目构建成功。

【讨论】:

【参考方案6】:

我在尝试安装 System.Net.Http 时遇到了同样的问题,它说 nuget 版本需要是 3.0 或更高版本。我尝试了几件事,但最后,使用了工具和管理 Nuget 包并进行了搜索并尝试从那里安装它,当它说完全相同的事情时 - 错误版本的 nuget,但它也弹出了升级 Nuget 按钮!

希望这对某人有所帮助

【讨论】:

【参考方案7】:

只需在 Visual Studio 中重新安装 nuget

【讨论】:

以上是关于Nuget 版本不正确?的主要内容,如果未能解决你的问题,请参考以下文章

发布nuget包的正确姿势---cicd自动打包发布nuget包

从 Nuget 安装实体框架 6.0.1 时出错(文档结构不正确)

发布nuget包的正确姿势---cicd自动打包发布

如何检查我的 C# 应用程序是不是使用来自 nuget 包的正确平台特定 dll?

指定图标时,TaskDialog 窗口高度不正确

如何正确引用nuget包,这样就不会对路径进行硬编码