微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

msbuild – TeamCity – Microsoft.Bcl.Build依赖项

我刚刚对我的存储库进行了一些代码更改,并且突然(经过好几周之后). TC构建开始失败,因为它无法下载Microsoft.Bcl.Build.1.0.6的NuGet包.

我最终不得不手动将packages目录的内容复制到TC构建位置,这完全违背了NuGet的要点.

我可以检查什么来找到这个的根本原因?

获取包的解决方案中启用了关于NuGet的所有内容.

解决方法

我在 http://sedodream.com/2012/12/24/SlowCheetahBuildServerSupportUpdated.aspx上发表了关于这个问题的博客.总结一下NuGet包恢复(在2.7之前)是作为MSBuild构建过程的一部分实现的.当MSBuild启动构建时,它将评估项目文件和导入其他文件的任何Import声明.这在任何目标执行之前发生.

由于NuGet pkg恢复是构建过程的一部分,因此.targets文件会在某个时间点恢复,导致Import语句产生任何影响为时已晚.

您可以通过按照声明检查.targets文件或在构建过程之前调用pkg restore来解决此问题.我已经创建了一个NuGet包,PackageRestore,它可以帮助后一种方法.

要使用PackageRestore,只需将NuGet包添加到项目中,该项目将自动在项目目录中创建名为packageRestore.proj的文件.配置构建时,需要在.sln / .csproj文件之前构建该项.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐