我刚刚突然向我的存储库提交了一些代码更改(在几周的良好状态之后)。 TC 构建开始失败,因为无法下载 Microsoft.Bcl.Build.1.0.6 的 NuGet 包。
我最终不得不手动将包目录的内容复制到 TC 构建位置,这完全违背了 NuGet 的目的。
我可以检查什么来找出问题的根本原因?
有关 NuGet 的所有内容都在用于获取包的解决方案中启用。
我曾在博客上讨论过这个问题http://sedodream.com/2012/12/24/SlowCheetahBuildServerSupportUpdated.aspx。总而言之,NuGet 包恢复(2.7 之前的版本)是作为 MSBuild 构建过程的一部分实现的。当 MSBuild 开始构建时,它将评估项目文件和导入其他文件的任何导入声明。这发生在任何目标执行之前。
由于 NuGet 包还原是构建过程的一部分,因此 .targets 文件会在 Import 语句产生任何影响的时间点进行还原。
您可以通过按照您的说明签入 .targets 文件或在构建过程之前调用 pkg Restore 来解决此问题。我创建了一个 NuGet 包,包恢复,这可以帮助后一种方法。
要使用 PackageRestore,只需将 NuGet 包添加到您的项目中,它将自动在您的项目目录中创建一个名为 packageRestore.proj 的文件。配置构建时,您需要在 .sln/.csproj 文件之前构建该项目。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)