在解决方案中所使用 NuGet 管理软件包依赖



使用程序包恢复功能可以在提交源代码时, 不需要将代码库提交到源代码管理中,大幅减少项目的尺寸。所有NuGet程序包都存储在解决方案的Packages文件夹中。

要启用程序包恢复功能,可右键单击解决方案(注意,不是右键单击项目文件),并选择 Enable NuGet Package Restore (启用NuGet程序包还原) 选项。屏幕上会显示一系列提示对话框

在解决方案中所使用 NuGet 管理软件包依赖

我们会看到一个确认的提示对话框。

在解决方案中所使用 NuGet 管理软件包依赖

确定之后,开始配置解决方案的 Nuget 包管理。配置完成之后,会有一个提示。

在解决方案中所使用 NuGet 管理软件包依赖

完成之后,解决方案中添加了一个 .nuget 的解决方案文件夹。

在解决方案中所使用 NuGet 管理软件包依赖

以后,在解决方案中,项目需要添加 Nuget 包引用的时候,就可以通过项目的右键菜单,找到 Nuget 包管理器。

在解决方案中所使用 NuGet 管理软件包依赖

比如,我们可以为项目添加一个 Redis 的包。

在解决方案中所使用 NuGet 管理软件包依赖

添加完成之后。

在解决方案中所使用 NuGet 管理软件包依赖

注意,项目中增加了一个 packages.config 的文件。

在解决方案中所使用 NuGet 管理软件包依赖

项目文件中的 packages.config 文件内容

<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="StackExchange.Redis" version="1.0.414" targetFramework="net45" />
</packages>

实际的程序集在解决方案的文件夹中保存了。

在解决方案中所使用 NuGet 管理软件包依赖

在签入代码的时候,不需要将 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 包。

在解决方案中所使用 NuGet 管理软件包依赖

如果我们的解决方案中,有缺失的包,在打开的对话框标题上,会有一个黄色的提示条。最右边有一个  Restore (还原),点击之后,NuGet 就会自动帮我们将相应的代码库下载到本地解决方案的 packages 文件夹中了。

在解决方案中所使用 NuGet 管理软件包依赖