我一直在努力让NuGet工作一周以上。我终于让它在本地构建上工作,但不在TFS 2013构建上。我在团队建设过程中将其缩小到NuGet没有发生,但是当我添加
时$(SolutionDir).nuget\nuget.exe restore -SolutionDirectory ..\
到构建顺序中我的第一个项目的预构建事件,我收到此错误。如果我从解决方案目录中的命令行执行该命令,它可以正常工作。 它在本地构建很好,但在构建服务器上,我得到了这个"代码1"错误。非常有帮助的Grrrrr!所以我在构建之前打开了TFS获取的源代码并尝试在构建服务器上进行本地构建,并且我得到了相同的错误(即使它在我的本地机器上工作正常)。我尝试在团队构建上增加冗长,但这只是显示相同的错误。对不起 - 我已经搜索了这个错误并发现了很多回复,但没有任何帮助......
BTW,当我在解决方案中运行nuget.exe版本时,它的版本为3.4.3.855。
答案 0 :(得分:1)
要使用TFS XAML版本启用还原NuGet包,请尝试按照以下步骤操作:
1. <RestorePackages>true</RestorePackages>
2.<Import Project="$(SolutionDir)\.nuget\nuget.targets" />
3. <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information,
see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('$(SolutionDir)\.nuget\NuGet.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\.nuget\NuGet.targets'))" />
</Target>
更多详情请参阅此分步教程:Auto restore Nuget packages with TFS Build the right way