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 网站上提供一段时间,因此此问题不应影响太多人。