我正在使用带有 github Web 挂钩的 myget 构建服务,在每次推送到 github 时构建我的 nuget 包。
github repo 位于项目级别,因此不会推送包文件夹(位于 sln 级别)。
所以我的构建失败了,因为它没有依赖项。这里的最佳做法是什么?我想在构建期间使用 nuget 引入依赖项。这对 myget 是否可行,如果可以,我该如何设置。我已经查看了包还原,但这也会在 sln 级别创建配置,所以我认为它对我没有帮助。
您可以使用自己的构建脚本连接到 MyGet 构建服务,如文档中所述: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 文件夹中的包(您只要它在结帐目录中,就可以即时创建它,并调用nuget.exe install
您的packages.config)。