我了解在构建项目之前,nuget 的包恢复下载并“安装”各种所需的包。但我无法弄清楚这实际上有什么作用。
据我所知,包还原期间包的“安装”与包的实际安装不同 - 例如,如果您执行以下操作:
- 安装 jQuery 包(注意,这会将 jQuery 脚本文件添加到项目的“脚本”目录中)
- 删除添加的 jQuery 脚本文件
- 删除“包”目录(步骤 2 和 3 模拟构建机器或其他开发机器上的状态)
- 进行构建(触发包还原)
此时构建状态
2> Successfully installed 'jQuery 1.9.1'.
但是,jQuery 包的脚本文件不会添加到“脚本”文件夹中,并且文件不会添加到项目中。
这意味着无论如何您都必须将这些文件签入源代码管理。
这也意味着当您更新此软件包时,您必须管理添加/删除新/旧文件(因为使用不同的版本文件名)。否则,您的“脚本”文件夹将充满版本化脚本文件的无尽历史。
因此,如果您无论如何都必须检查所有内容,并且必须在更新时手动管理添加和删除文件,那么在构建时恢复包到底有什么好处?这有什么用?
更重要的是,为什么这不能达到明显的目的:自动将包的文件添加到项目中?