Visual studio 如何使我的visual studio解决方案在teamcity中使用最新版本的nuget.exe

Visual studio 如何使我的visual studio解决方案在teamcity中使用最新版本的nuget.exe,visual-studio,nuget,teamcity,Visual Studio,Nuget,Teamcity,我有一个几年前写的.net网站,它在TeamCity中构建时会导致错误。当teamcity进入第二个生成步骤,即站点csproj文件的MSBuild时,我在尝试运行包还原时遇到以下错误: ““…”包需要NuGet客户端版本“2.12”或更高版本,但当前NuGet版本为“2.8.60318.667” 原因是此解决方案在其目录中包含nuget.exe文件,该目录的版本为2.8.60318.667。我工作的其他项目/网站中没有nuget.exe文件,似乎正在teamcity中构建 我需要(1)更新解决

我有一个几年前写的.net网站,它在TeamCity中构建时会导致错误。当teamcity进入第二个生成步骤,即站点csproj文件的MSBuild时,我在尝试运行包还原时遇到以下错误: ““…”包需要NuGet客户端版本“2.12”或更高版本,但当前NuGet版本为“2.8.60318.667” 原因是此解决方案在其目录中包含nuget.exe文件,该目录的版本为2.8.60318.667。我工作的其他项目/网站中没有nuget.exe文件,似乎正在teamcity中构建

我需要(1)更新解决方案以便删除nuget.exe文件,或者(2)使用最新版本,这将有望解决teamcity问题

当我用nuget的最新版本替换我的nuget.exe文件时,我在生成时收到一条错误消息: “1>D:\Sites\testSite.nuget\nuget.targets(100,9):错误:找不到路径“D:\Sites\testSite\\packages\System.Security.AccessControl.4.0”的一部分。” 我认为在配置文件的某个地方,解决方案目录和包位置之间有一个空格,但我不确定应该在哪里查找。有人能帮忙吗

我已尝试从解决方案中删除.nuget文件夹,但在生成时出错。有人能帮我重新配置解决方案,使其在没有特定的本地版本nuget的情况下工作吗

如果有人能以任何方式提供帮助,我将非常感激,我对VisualStudio和.net的理解已经达到了极限

谢谢


Sam

您可以在TeamCity中安装多个版本的Nuget工具,并将任何一个版本设置为默认版本

即默认为v4.4

为此,请访问TeamCity文档链接:

现在,对于特定的构建步骤,如果您想使用较低版本的nuget,您可以选择不同版本的nuget installer/restore,如附图所示


我在替换nuget.exe文件时遇到的问题是由于我下载的文件的版本造成的。我采用了较旧的版本(4.6.4),在构建解决方案时,我没有发现包路径中的空间问题


还有其他错误,但我现在已经解决了。

无需在解决方案文件中进行更改。你也可以从TeamCity那里完成。谢谢Niraj,不幸的是我没有设置这个构建步骤。当解决方案生成触发包还原时,似乎正在使用项目根目录中包含的nuget版本。我认为此设置不正确,但我已通过更新nuget.exe文件解决了此问题。我将在将来记住这一点,我认为按照您所展示的方式运行它会更好。