我知道nuget的软件包还原会在构建项目之前下载并“安装”各种所需的软件包。但我无法弄清楚这实际上是为了什么目的。
据我所知,包恢复期间包的“安装”与包的实际安装不同 - 例如,如果您执行以下操作:
此时构建状态
2> Successfully installed 'jQuery 1.9.1'.
但是,jQuery包的脚本文件是 NOT 添加到'Scripts'文件夹中,文件是 NOT 添加到项目中。
这意味着你必须将这些文件检查到源代码管理中。
这也意味着当您更新此软件包时,您必须管理添加/删除新/旧文件(因为使用了不同的版本化文件名)。否则你的'Scripts'文件夹会填满版本化脚本文件的无穷历史。
所以,如果你有来检查所有内容,并且你有手动管理更新时添加和删除文件,恢复包的确切好处是什么在构建?这是为了什么目的?
更重要的是,为什么不这有明显的用途:自动将软件包的文件添加到项目中?
答案 0 :(得分:0)
Using NuGet Without Committing Packages to Source Control讨论了包恢复的原因。
包恢复意味着您无需将包文件夹检查到源代码管理中。一旦为您的项目启用,它将下载软件包并在构建时将它们放回到packages文件夹中(如果它们丢失)。正如您所发现的那样,它不会将任何包文件添加到您的项目中。在jQuery的情况下,NuGet包中的所有文件都会添加到您的项目中。然而,其他NuGet包包括一个或多个二进制文件。