为什么Windows C#项目在.nuget文件夹中包含nuget可执行文件?

时间:2014-12-05 11:58:45

标签: nuget

我不了解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的原因是什么?

1 个答案:

答案 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