我不了解NuGet如何在Windows平台上使用的总体方案(因为我从未见过这个,我使用Linux和monodevelop)。
在许多Windows项目中,存储库中有一个.nuget文件夹,如
https://github.com/YAFNET/YAFNET/tree/master/yafsrc/.nuget
在此文件夹中有一个nuget.exe可执行文件。
为什么有必要将可执行文件添加到源代码控制(SCC)?
NuGet构建工具与所有其他二进制工具(如编译器)有何不同,后者未包含在SCC中?
为什么像paludis这样的其他包管理器没有被添加到SCC,但nuget呢?
将NuGet放到SCC的原因是什么?
答案 0 :(得分:0)
没有必要将NuGet.exe添加到源代码管理中。
某些项目使用.nuget / NuGet.exe以及一组其他MSBuild文件的原因是使用基于MSBuild的程序包还原。基于MSBuild的程序包还原将在构建时运行NuGet.exe以下载任何缺少的程序包。
NuGet团队已弃用基于MSBuild的软件包恢复。
使用最新版NuGet Package Manager的Visual Studio将在构建项目之前自动恢复NuGet包。如果需要在构建服务器上恢复NuGet包,可以使用NuGet.exe通过运行类似于以下命令行来恢复NuGet包:
NuGet.exe restore YourSolution.sln