我正在将我们的源代码从保险库移动到TFS,而不用迁移或其他任何内容,只需将最新的库中的最新添加到TFS中。
。该解决方案有几个项目,每个项目至少有一个Nuget软件包。我正在尝试使软件包还原再次工作。它在金库中起作用(但不能以应有的方式)。我已经有一个截止日期了,而且起初它没有工作,所以我添加了一个前构建事件,以对每个项目的packages.config运行nuget.exe。
。tfs构建服务抱怨,所以我试图使其"正确"。
- 我已经在Visual Studio工具菜单中设置了选项。
- 我已经安装了Nugetenable Packagerestore并运行修复程序。
- 我已经验证了包装目录是源控件,但为空。
- 我已经验证了项目文件每个包括以下内容:
<RestorePackages>true</RestorePackages> <Import Project="$(SolutionDir).nugetnuget.targets" />
用诊断水平的详细构建均显示每个项目都评估了这些属性,但是Nuget中的Restorecommand。从未执行核心。
。有什么想法吗?
我试图从这些链接中实现解决方案:
- nuget-包装还原不起作用
- nuget软件包还原不起作用 - 我确实在那里发布了一个问题/评论,要求澄清...
- http://nuget.codeplex.com/workitem/1879
编辑
此外,我发现在构建过程中正在评估RestoreCommand属性。诊断冗长表明:
RestoreCommand = (set EnableNuGetPackageRestore=true) && "C:SourceKiersted Direct And RelatedDirectKiersted.nugetnuget.exe" install "packages.config" -source "@(PackageSource)" -o "C:SourceKiersted Direct And RelatedDirectKierstedpackages"
我弄清楚了,我在这里找到了答案:msbuild未从导入的项目运行builddependson任务
问题(浏览了诊断性的冗长构建输出之后)是buildDependson设置正在变得不设置。我的项目文件每个都有导入语句
<Import Project="$(SolutionDir).nugetnuget.targets" />
但是该语句在XML树的开头。显然,Microsoft.csharp.targets的导入可能会干扰该导入,从而干扰了buildDependson。
我的解决方案是将nuget.targets导入到Microsoft.csharp.targets导入下方。现在一切都建立了精美。
需要与其他答案一起考虑此答案。就我而言,Visual Studio决定不将packages.config自动添加到源控件中。因此,该文件没有在Nuget Restore期间通过构建服务器进行考虑。