NuGet 1.2 发行说明

NuGet 1.0 和 1.1 发行说明 | NuGet 1.3 发行说明

NuGet 1.2 于 2011 年 3 月 30 日发布。

新功能

框架概要支持

从一开始,NuGet 支持使用库以不同的框架为目标。 但现在包可能包含面向特定配置文件,例如 Windows Phone 配置文件的程序集。 若要针对特定框架配置文件,请在短划线后附加配置文件缩写。 例如,若要以 Windows Phone(即 Windows Phone 7)上运行的 SilverLight 为目标,可以将程序集放在 sl3-wp 文件夹中,如以下屏幕截图所示。

框架配置文件文件夹布局

你可能会问为什么我们不简单地使用“wp7”作为名称。 我们预计 Windows Phone 7 将来可能会运行较新版本的 Silverlight,在这种情况下,可能需要更具体地选择要使用的框架配置文件。

自动添加绑定重定向

安装具有强命名程序集的包时,NuGet 现在可以检测项目需要将绑定重定向添加到配置文件的情况,以便项目自动编译和添加它们。 David Ebbo 的博客文章系列中讨论 NuGet 版本控制的第 3 部分,标题为“通过绑定重定向实现统一”,更详细地介绍了此功能的目的。

指定架构程序集引用(GAC)

在某些情况下,包可能依赖于 .NET Framework 中的程序集。 严格地说,包使用者并不总是引用框架程序集。 但在某些情况下,这一点很重要,例如开发人员需要针对该程序集中的类型编写代码才能使用包。 使用新 frameworkAssemblies 元素(元数据元素的子元素)可以指定一组 frameworkAssembly 指向 GAC 中的框架程序集的元素。 请注意框架程序集的重要性。 这些程序集不包含在包中,因为假定它们作为 .NET Framework 的一部分位于每台计算机上。 下表列出了元素的属性 frameworkAssembly

Attribute Description
assemblyName 必需。 程序集的名称,例如 System.Net
targetFramework 可选。 允许指定此框架程序集应用于的框架和配置文件名称(或别名),例如“net40”或“sl4”。 使用 支持多个目标框架中所述的相同格式。
  <frameworkAssemblies>
    <frameworkAssembly assemblyName="System.ComponentModel.DataAnnotations" targetFramework="net40" />
    <frameworkAssembly assemblyName="System.ServiceModel" targetFramework="net40" />
  </frameworkAssemblies>

nuget.exe 现在能够存储 API 密钥凭据

使用 nuget.exe 命令行工具时,现在可以使用 SetApiKey 命令来存储 API 密钥。 这样,每次推送包的时候,你就不需要指定它了。 有关使用 nuget.exe保存 API 密钥的更多详细信息, 请阅读有关发布包的文档

包浏览器

包资源管理器已更新以支持 NuGet 1.2。 有关详细信息,请查看[Package Explorer release notes](http://nuget.codeplex.com/wikipage?title=New%20features%20in%20NuGet%20Package%20Explorer%201.0)

其他功能/修复

上一个列表是我们实现的许多功能和我们修复的 bug 中最明显的。 总之,我们在此版本中实现了/修复 [59 work items](http://nuget.codeplex.com/workitem/list/advanced?keyword=&status=All&type=All&priority=All&release=NuGet%201.2&assignedTo=All&component=All&sortField=Votes&sortDirection=Descending&page=0)

已知问题

  • 1.2 包不兼容:使用最新版本的命令行工具生成的包 nuget.exe(> 1.2)不适用于旧版 NuGet VS 外接程序(如 1.1)。 如果遇到一条错误消息,指出不兼容的架构,则遇到此错误。 请将 NuGet 更新到最新版本。
  • NuGet.Server 不兼容:如果使用 NuGet.Server 项目托管内部 NuGet 源,则需要使用最新版本的 NuGet.Server 更新该项目。
  • 签名不匹配错误:如果在升级过程中遇到有关签名不匹配的消息,则需要先卸载 NuGet,然后安装它。 这列在“ 已知问题”页 中,其中提供了更多详细信息。 此问题仅影响那些运行 Visual Studio 2010 SP1 且安装了未正确签名的 NuGet 1.0 版本。 此版本仅在 CodePlex 网站上提供一段时间,因此此问题不应影响太多人。