我正在将我们的源代码从Vault迁移到TFS,不需要进行任何迁移,只需在Vault中获取最新版本并添加到TFS中。
该解决方案有几个项目,每个项目都至少有一个NuGet包。我正在尝试使软件包还原再次正常工作。它在Vault中可以使用(但不是应该使用的方式)。我当时有一点时间压力,一开始它没有起作用,所以我添加了一个Pre-Build事件来针对每个项目的packages.config运行nuget.exe。
TFS构建服务抱怨了这个问题,因此我正在尝试让它“正确”地工作。
- 我已经在Visual Studio工具菜单中设置了选项。
- 我已经安装了NuGetEnablePackageRestore并运行了修复程序。
- 我已经验证了软件包目录位于源代码控制中,但为空。
- 我已经验证了每个项目文件都包含以下内容:
<RestorePackages>true</RestorePackages>
<Import Project="$(SolutionDir)\.nuget\nuget.targets" />
使用诊断级别的详细度构建后发现每个项目都会评估这些属性,但是nuget.targets中的RestoreCommand从未执行。有什么想法吗?我尝试实施以下链接中的解决方案: 1.nuget - package restore not working 2.NuGet Package Restore Not Working-我在那里发布了一个问题/评论,请求澄清... 3.http://nuget.codeplex.com/workitem/1879 另外,我发现RestoreCommand属性在构建期间被评估。诊断详细程度显示:
RestoreCommand = (set EnableNuGetPackageRestore=true) && "C:\Source\Kiersted Direct And Related\Direct\Kiersted\.nuget\nuget.exe" install "packages.config" -source "@(PackageSource)" -o "C:\Source\Kiersted Direct And Related\Direct\Kiersted\packages"