我有一个项目,我正在编写NUnit测试(例如)。我想将代码提交给git,但我也觉得将NuGet包(NUnit和NUnit.Runner)提交给repo是不好的做法。但是,我不想打开包恢复,因为我认为它是用户设置而不是项目设置(IIRC)。
将带有NuGet依赖项的.NET项目添加到git repo的正确方法是什么?我认为这将是一个很高兴抓住包但需要开发人员干预的东西。或许只是希望其他开发人员知道将这些丢失的软件包添加回项目中? (看起来我们最终也一直在解决.csproj冲突。)
答案 0 :(得分:3)
您应该只将解决方案的packages.config
文件添加到您的git仓库中。从中,每个开发人员都可以自动安装所需的包。
例如,至少在Visual Studio 2012下,您可以在“工具包”>下的“包管理器设置”窗口中选中“允许NuGet在构建期间下载丢失的包”复选框。 'Library Package Manager'菜单。使用此选项和packages.config
文件,您无其他任何事情......
答案 1 :(得分:2)
如果无法或不愿意启用程序包还原,开发人员可以通过命令行轻松添加所有程序包,如this question中所述:
您可以使用nuget.exe恢复您的包。对每个项目运行以下命令。
nuget install packages.config
您也可以在预构建命令中运行它,如here所述:
$(SolutionDir)Tools\nuget install $(ProjectDir)packages.config
但实际上,包恢复更容易,只需点击几下即可。