我正在使用带有github web钩子的myget构建服务来在每次推送到github时构建我的nuget包。
github repo处于项目级别,因此packages文件夹(处于sln级别)不会被推送。
所以我的构建失败了,因为它没有依赖项。这里的最佳做法是什么?我想在构建期间使用nuget引入依赖项。这是可能的myget,如果是这样,我怎么能设置它。我已经查看了包恢复,但是也在sln级别创建了配置,所以我认为它不能帮助我。
答案 0 :(得分:0)
您可以使用自己的构建脚本挂钩MyGet Build Services,如文档中所述:http://docs.myget.org/docs/reference/build-services
然后,您可以使用NuGet自行恢复包: http://docs.myget.org/docs/how-to/make-use-of-nuget-within-your-build-scripts
真正的问题是您的项目引用了源库之外的库。我建议您尊重在您的存储库中具有以下目录结构的默认约定:
$(SolutionDir) = repository root
\ProjectDir
您可以在解决方案目录中包含项目特定的解决方案(并将项目放在其自己的子目录中),或者在解决方案目录中使用构建脚本来恢复$(SolutionDir)\ Packages中的包文件夹(只要它在结帐目录中,您就可以动态创建它,并在packages.config上调用nuget.exe install
)。