TFS 2015 OnPrem Nuget还原错误

时间:2016-04-28 21:43:27

标签: visual-studio-2015 tfs nuget tfsbuild tfs2015

设定:

  • TFS 2015 Update 2
  • Build Agent正在Windows 2012 Server上运行
    • 在Build System上安装Visual Studio 2015 Update 2

enter image description here

我在安装了VS 2015 Update 2的代理上运行了构建(新)定义。我有一个项目,里面有几个NuGet包。直到今天下午,构建工作正如预期的那样。我在完成构建之后对其进行了一些更改,然后我开始收到此错误:

  

2016-04-28T16:35:03.3605826Z将workingFolder设置为默认值:E:\ agent \ tasks \ NuGetInstaller \ 0.1.17

     

2016-04-28T16:35:03.4073604Z执行powershell脚本:E:\ agent \ tasks \ NuGetInstaller \ 0.1.17 \ NuGetInstaller.ps1

     

2016-04-28T16:35:05.0948829Z保存到E:\ agent_work \ 1 \ NuGet \ newNuGet.config

     

2016-04-28T16:35:05.1418632ZE:\ agent \ agent \ worker \ tools \ NuGet.exe restore" E:\ agent_work \ 1 \ s \ Dev \ eCommerce \ Consol.eCommerce.sln&# 34; -NonInteractive -configfile" E:\ agent_work \ 1 \ NuGet \ newNuGet.config"

     

2016-04-28T16:35:05.8761260Z MSBuild自动检测:使用msbuild版本' 14.0'来自' C:\ Program Files(x86)\ MSBuild \ 14.0 \ bin'。

     

2016-04-28T16:35:06.6105618Z恢复NuGet包System.Reflection.Metadata.1.2.0。

     

2016-04-28T16:35:08.9542747Z警告:无法找到版本' 1.2.0' of package' System.Reflection.Metadata'。

     

2016-04-28T16:35:09.0012648Z ## [错误]无法找到版本' 1.2.0' of package' System.Reflection.Metadata'。

     

2016-04-28T16:35:09.0323998Z ## [错误]工具NuGet.exe返回意外退出代码1

现在这就是我迷路的地方,我检查了NuGet.org,包裹和版本存在。我甚至在本地系统上删除了项目中的所有软件包,然后进行了NuGet Package Restore,它运行得很好。我从项目中删除了NuGet包并重新添加它并且工作正常。

有没有人看过这个并知道如何修复它?

2016年4月29日更新: 正如我在下面的评论中所说,我已将其整理出来。 我原来的nuget.config文件是这个

<configuration>
    <solution>
        <add key="disableSourceControlIntegration" value="true" />
    </solution>
  <packageSources>
    <add key="NuGet official package source v2" value="https://nuget.org/api/v2/" />
    <add key="FelineSoft NuGet" value="http://prod-tfs15:81/nuget" />
  </packageSources>
  <activePackageSource>
    <add key="All" value="(Aggregate source)" />
  </activePackageSource>
</configuration>

我把它改成了它并且它起作用了

<configuration>
    <solution>
        <add key="disableSourceControlIntegration" value="true" />
    </solution>
  <packageSources>
    <add key="NuGet official package source v3" value="https://api.nuget.org/v3/index.json" />
    <add key="NuGet official package source v2" value="https://nuget.org/api/v2/" />
    <add key="FelineSoft NuGet" value="http://prod-tfs15:81/nuget" />
  </packageSources>
  <activePackageSource>
    <add key="All" value="(Aggregate source)" />
  </activePackageSource>
</configuration>

新问题是,为什么API端点对此类评论包很重要?

2 个答案:

答案 0 :(得分:0)

根据您的错误信息,这可能是由于构建代理上的工作目录已更改。因为您已经更改了构建位置的位置。这可能会导致错误。

您可以删除构建代理上的工作目录,并让它自动重新创建。然后再试一次。

更新

System.Reflection.Metadata 1.2.0仅需要NuGet 2.8.6或更高版本。对于NuGet feed v3(VS 2015 / NuGet v3.x):https://api.nuget.org/v3/index.json和NuGet feed v2(VS 2013及更早版本/ NuGet 2.x):https://www.nuget.org/api/v2。由于您使用的是VS2015,因此可能会添加V3网址。

答案 1 :(得分:0)

这取决于Visual Studio正在使用的nuget客户端版本,然后nuget客户端期望使用特定版本的api消费,看起来更像是nuget客户端版本然后版本。