NuGet 1.8 发行说明 | NuGet 2.1 发行说明
NuGet 2.0 于 2012 年 6 月 19 日发布。
已知安装问题
如果运行的是 VS 2010 SP1,则如果安装了较旧版本,则尝试升级 NuGet 时可能会遇到安装错误。
解决方法是只需卸载 NuGet,然后从 VS 扩展库安装它。 有关详细信息,请参阅 https://support.microsoft.com/kb/2581019 ,或 直接转到 VS 修补程序。
注意:如果 Visual Studio 不允许卸载扩展(“卸载”按钮已禁用),则可能需要使用“以管理员身份运行”重启 Visual Studio。
程序包恢复同意现在已处于活动状态
如该关于包还原许可的文章中所述,NuGet 2.0 现在需要同意才能使包还原联机并下载包。 请确保已通过包管理器配置对话框或 EnableNuGetPackageRestore 环境变量提供同意。
按目标框架对依赖项进行分组
从版本 2.0 开始,包依赖项可能因目标项目的框架配置文件而异。 这是使用更新 .nuspec 的架构完成的。 该 <dependencies> 元素现在可以包含一组 <group> 元素。 每个组都包含零个或多个 <dependency> 元素和一个 targetFramework 属性。 如果目标框架与目标项目框架配置文件兼容,则组中的所有依赖项一起安装。 例如:
<dependencies>
<group>
<dependency id="RouteMagic" version="1.1.0" />
</group>
<group targetFramework="net40">
<dependency id="jQuery" />
<dependency id="WebActivator" />
</group>
<group targetFramework="sl30">
</group>
</dependencies>
请注意,组可以包含 零 依赖项。 在上面的示例中,如果将包安装到面向 Silverlight 3.0 或更高版本的项目中,则不会安装任何依赖项。 如果将包安装到面向 .NET 4.0 或更高版本的项目中,将安装两个依赖项 jQuery 和 WebActivator。 如果将包安装到面向这 2 个框架的早期版本的项目中,或者安装任何其他框架,则将安装 RouteMagic 1.1.0。 组之间没有继承。 如果项目的目标框架与组的属性匹配 targetFramework ,则只会安装该组中的依赖项。
包可以采用两种格式之一来指定包依赖项:使用旧格式的<dependency>元素组成的平面列表,或使用组。 如果使用格式 <group> ,则无法将包安装到低于 2.0 的 NuGet 版本中。
请注意,不允许混合这两种格式。 例如,以下代码片段 无效 ,NuGet 将拒绝。
<dependencies>
<dependency id="jQuery" />
<dependency id="WebActivator" />
<group>
<dependency id="RouteMagic" version="1.1.0" />
</group>
</dependencies>
按目标框架对内容文件和 PowerShell 脚本进行分组
除了程序集引用,内容文件和 PowerShell 脚本还可以按目标框架进行分组。 在指定目标框架的文件夹中找到 lib 的同一文件夹结构现在可以以相同的方式应用于 content 和 tools 文件夹。 例如:
\content
\net11
\MyContent.txt
\net20
\MyContent20.txt
\net40
\sl40
\MySilverlightContent.html
\tools
\init.ps1
\net40
\install.ps1
\uninstall.ps1
\sl40
\install.ps1
\uninstall.ps1
注意:由于 init.ps1 在解决方案级别执行,并且不依赖于任何单个项目,因此它必须直接放置在文件夹下 tools 。 如果放置在特定于框架的文件夹内,将忽略它。
此外,NuGet 2.0 中的一项新功能是框架文件夹可以为 空,在这种情况下,NuGet 不会添加程序集引用、添加内容文件或运行特定框架版本的 PowerShell 脚本。 在上面的示例中,文件夹 content\net40 为空。
改进了选项卡完成性能
NuGet 包管理器控制台中的选项卡完成功能已更新,可显著提高性能。 按下 Tab 键后,建议下拉列表出现的时间延迟会大大减少。
漏洞修复
NuGet 2.0 包括许多 bug 修复,重点在于包还原许可和性能。
NuGet 2.0 中修复的工作项完整列表,请查看 [NuGet Issue Tracker for this release](http://nuget.codeplex.com/workitem/list/advanced?keyword=&status=Closed&type=All&priority=All&release=NuGet%202.0&assignedTo=All&component=All&sortField=Votes&sortDirection=Descending&page=0)。