使用程序包恢复功能可以在提交源代码时, 不需要将 packages 中的程序集文件提交到源代码管理中,大幅减少项目的尺寸。所有NuGet程序包都存储在解决方案的Packages文件夹中。
要启用程序包恢复功能,可右键单击解决方案(注意,不是右键单击项目文件),并选择 Enable NuGet Package Restore (启用NuGet程序包还原) 选项。屏幕上会显示一系列提示对话框
我们会看到一个确认的提示对话框。
确定之后,开始配置解决方案的 Nuget 包管理。配置完成之后,会有一个提示。
完成之后,解决方案中添加了一个 .nuget 的解决方案文件夹。
以后,在解决方案中,项目需要添加 Nuget 包引用的时候,就可以通过项目的右键菜单,找到 Nuget 包管理器。
比如,我们可以为项目添加一个 Redis 的包。
添加完成之后。
注意,项目中增加了一个 packages.config 的文件。
项目文件中的 packages.config 文件内容
<?xml version="1.0" encoding="utf-8"?>
<packages><package id="StackExchange.Redis" version="1.0.414" targetFramework="net45" />
</packages>
实际的程序集在解决方案的文件夹中保存了。
在签入代码的时候,不需要将 packages 中的程序集文件签入代码管理中,这样可以减少代码库的尺寸。
在签出代码之后,如果我们本地缺少某个代码库,比如 jQuery
<?xml version="1.0" encoding="utf-8"?>
<packages><package id="StackExchange.Redis" version="1.0.414" targetFramework="net45" /><package id="jQuery" version="2.1.3" targetFramework="net45" />
</packages>
我们可以在解决方案中右键菜单,为解决方案管理 NuGet 包。
如果我们的解决方案中,有缺失的包,在打开的对话框标题上,会有一个黄色的提示条。最右边有一个 Restore (还原),点击之后,NuGet 就会自动帮我们将相应的代码库下载到本地解决方案的 packages 文件夹中了。