使用英语阅读

通过


NuGet 2.0 发行说明

NuGet 1.8 发行说明 | NuGet 2.1 发行说明

NuGet 2.0 已于 2012 年 6 月 19 日发布。

已知安装问题

由于安装了旧版本,尝试升级 NuGet 时如果运行 VS 2010 SP1,则可能会出现安装错误。

解决方法是直接卸载 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 文件夹中找到的同一文件夹结构现可以相同方式应用于 contenttools 文件夹。 例如:

\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)