Nufs安装程序任务在tfs 2017版本中失败

时间:2017-05-20 10:58:11

标签: tfs tfsbuild tfs2017

我们正在使用Nuget Installer步骤来恢复TFS构建中缺少的nuget包,此步骤失败并出现以下错误:

E:\ Builds \ _tasks \ NuGetInstaller_333b11bd-d341-40d9-afcf-b32d5ce6f23b \ 0.2.29 \ node_modules \ nuget-task-common \ NuGet \ 3.3.0 \ NuGet.exe restore -NonInteractive E:\ Builds \ test的.sln MSBuild自动检测:使用msbuild版本' 3.5'来自' C:\ Windows \ Microsoft.NET \ Framework \ v3.5'。 在E:\ Builds \ test.sln解析解决方案文件时出错:系统找不到指定的文件。 (HRESULT异常:0x80070002) 错误:E:\ Builds \ Agent2017Update1_tasks \ NuGetInstaller_333b11bd-d341-40d9-afcf-b32d5ce6f23b \ 0.2.29 \ node_modules \ nuget-task-common \ NuGet \ 3.3.0 \ NuGet.exe失败,返回码:1 软件包无法安装

错误消息似乎令人困惑,因为构建代理上存在指定的文件。

TFS构建代理版本:2.112.0 TFS版本:TFS 2017更新1

2 个答案:

答案 0 :(得分:2)

在高级选项中,将NuGet的版本更改为3.5。我在过去的两周内遇到了奇怪的问题,其中3.3会与您遇到的情况类似,并按预期切换到3.5。

enter image description here

希望这对你有用= D

答案 1 :(得分:1)

这似乎是由于您的路径中的msbuild.exe(您的构建代理)版本 3.5 。 MSBuild 3.5没有两个.dll正在尝试动态加载(。Microsoft.Build.dllMicrosoft.Build.Framework.dll)。

  

解决此问题的解决方案,请确保NuGet.exe使用MSBuild   4.0或更高。这可以通过确保MSBuild 4.0或更高版本是第一个在您的路径中解析或通过-msbuildversion来完成   选项。例如,使用MSBuild 14.0(随Visual   Studio 2015)。

nuget.exe pack MyProj.csproj -msbuildversion 14.0

更多详情请参阅此类似问题 nuget pack fails when MSBuild version resolved to MSBuild 3.5