我们使用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还原-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
发布于 2017-05-22 02:19:57
这似乎是因为path中的msbuild.exe
(您的构建代理)是3.5版本。MSBuild 3.5没有nuget试图动态加载的两个..dll (Microsoft.Build.dll
和Microsoft.Build.Framework.dll
)。
要解决此问题,请确保NuGet.exe使用MSBuild 4.0或更高版本的。这可以通过确保MSBuild 4.0或更高版本在您的路径中首先解决,或者通过传递
-msbuildversion
选项来实现。例如,使用MSBuild 14.0 (它随Visual 2015一起提供)。 nuget.exe pack MyProj.csproj -msbuildversion 14.0
更多细节请参阅类似的问题当MSBuild版本解析为MSBuild 3.5时nuget失败
发布于 2017-05-20 09:48:44
在高级选项中,将NuGet的版本更改为3.5。在过去的2周里,我遇到了一些奇怪的问题,3.3会做一些与你所经历的相似的事情,并会像预期的那样切换到3.5工作。
希望这也适用于你=D
https://stackoverflow.com/questions/44085058
复制相似问题