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

为什么windows C#项目在.nuget文件夹中包含nuget可执行文件?,nuget,Nuget,我不了解在windows平台上如何使用NuGet的总体方案(因为我从未看到过这一点,我使用Linux和monodevelop)。 在许多windows项目中,存储库中有一个.nuget文件夹,如 此文件夹中有一个nuget.exe可执行文件 为什么有必要向源代码控制(SCC)中添加可执行文件? NuGet build tool与所有其他二进制工具(如未包含在SCC中的编译器)有何不同? 为什么其他包管理器(如paludis)不添加到SCC中,而nuget添加到SCC中? 将NuGet放入

我不了解在windows平台上如何使用NuGet的总体方案(因为我从未看到过这一点,我使用Linux和monodevelop)。
在许多windows项目中,存储库中有一个.nuget文件夹,如
此文件夹中有一个nuget.exe可执行文件

为什么有必要向源代码控制(SCC)中添加可执行文件?
NuGet build tool与所有其他二进制工具(如未包含在SCC中的编译器)有何不同?
为什么其他包管理器(如paludis)不添加到SCC中,而nuget添加到SCC中?


将NuGet放入SCC的确切原因是什么?

不必将NuGet.exe添加到源代码管理中

某些项目具有.nuget/nuget.exe和一组其他MSBuild文件的原因是使用基于MSBuild的包还原。基于MSBuild的包还原将在生成时运行NuGet.exe以下载任何丢失的包

NuGet团队已不推荐使用基于MSBuild的包还原

Visual Studio和最新版本的NuGet软件包管理器将在生成项目之前自动恢复NuGet软件包。如果需要在生成服务器上还原NuGet包,可以使用NuGet.exe通过运行类似以下命令行来还原NuGet包:

NuGet.exe restore YourSolution.sln

但是为什么他们在旧版本的MSV中这么做呢?将nuget放入路径是否太困难?在旧版本的MSV中,有一个
启用nuget Package Restore
菜单选项添加了文件,当时建议将整个目录检查到源代码管理中。我想单独将nuget添加到开发人员机器上的路径中会有太多额外的工作:)