NuGet 1.5 发行说明

NuGet 1.4 发行说明 | NuGet 1.6 发行说明

NuGet 1.5 于 2011 年 8 月 30 日发布。

Features

带有预安装 NuGet 包的项目模板

创建新的 ASP.NET MVC 3 项目模板时,项目中包括的 jQuery 脚本库实际上通过安装 NuGet 包来放置到该位置。

ASP.NET MVC 3 项目模板包括一组 NuGet 包,这些包在调用项目模板时安装。 将 NuGet 包包含到项目模板的功能现在是 任何项目模板 都可以利用的 NuGet 功能。

有关此功能的更多详细信息,请阅读 该功能的开发人员撰写的此博客文章

显式程序集引用

添加了一个新 <references /> 元素,用于显式指定应引用包中的程序集。

例如,如果添加以下内容:

<references>
    <reference file="xunit.dll" />
    <reference file="xunit.extensions.dll" />
</references>

然后,即使该文件夹中有其他程序集,也只会从lib引用 xunit.dllxunit.extensions.dll

如果省略此元素,则通常的行为适用,即引用文件夹中的每个程序集 lib

此功能的用途是什么?

此功能支持仅限设计时程序集。 例如,使用代码协定时,协定程序集需要位于它们扩充的运行时程序集旁边,以便 Visual Studio 能够找到它们,但协定程序集实际上不应由项目引用,不应复制到 bin 文件夹中。

同样,该功能可用于单元测试框架(例如 XUnit),这些框架需要将其工具程序集放置在运行时程序集旁边,但需要从项目引用中排除掉这些工具程序集。

添加了排除 .nuspec 中的文件的功能

文件中的<file>.nuspec元素可用于包含特定文件或一组使用通配符的文件。 使用通配符时,无法排除包含的文件的特定子集。 例如,假设你想要文件夹中除特定文本文件以外的所有文本文件。

<files>
    <file src="*.txt" target="content\docs" exclude="admin.txt" />
</files>

使用分号指定多个文件。

<files>
    <file src="*.txt" target="content\docs" exclude="admin.txt;log.txt" />
</files>

或使用通配符排除一组文件,例如所有备份文件

<files>
    <file src="tools\*.*" target="tools" exclude="*.bak" />
</files>

使用对话框提示删除包以删除依赖项

在卸载具有依赖项的包时,NuGet 会提示,并提供删除该包及其依赖项的选项。

删除依赖包

Get-Package 命令改进

Get-Package 命令现在支持参数 -ProjectName 。 因此,命令

Get-Package –ProjectName A

将列出项目 A 中安装的所有包。

支持需要身份验证的代理

在需要身份验证的代理后面使用 NuGet 时,NuGet 现在将提示输入代理凭据。 输入凭据允许 NuGet 连接到远程存储库。

支持需要身份验证的存储库

NuGet 现在支持连接到需要基本身份验证或 NTLM 身份验证的 专用存储库

将来的版本中将添加对摘要式身份验证的支持。

nuget.org 存储库的性能改进

我们对 nuget.org 库进行了多项性能改进,使包列表和搜索速度更快。

解决方案对话框项目筛选

在解决方案级对话框中,当提示要安装的项目时,我们仅显示与所选包兼容的项目。

程序包发行说明

NuGet 包现在包含对发行说明的支持。 发行说明仅在查看包的 更新 时显示,因此将更新添加到第一个版本并无意义。

“更新”选项卡中的发行说明

若要向包添加发行说明,请使用 NuSpec 文件中的新 <releaseNotes /> 元数据元素。

.nuspec <files /> 改进

文件 .nuspec 现在允许空 <files /> 元素,该元素指示 nuget.exe 不要在包中包含任何文件。

漏洞修复

NuGet 1.5 共修复了 107 个工作项。 其中 103 个被标记为错误。

若要查看 NuGet 1.5 中修复问题的完整列表,请访问 [NuGet Issue Tracker for this release](http://nuget.codeplex.com/workitem/list/advanced?keyword=&status=All&type=All&priority=All&release=NuGet%201.5&assignedTo=All&component=All&sortField=Summary&sortDirection=Descending&page=0)

值得注意的 Bug 修复:

  • [Issue 1273](http://nuget.codeplex.com/workitem/1273):按字母顺序对包进行排序并删除额外的空格,使 packages.config 版本控制更加友好。
  • [Issue 844](http://nuget.codeplex.com/workitem/844):版本号现已规范化,因此 Install-Package 1.0 可以在版本为 1.0.0 的包上运行。
  • [Issue 1060](http://nuget.codeplex.com/workitem/1060):使用 nuget.exe 创建包时,-Version 标志会覆盖 <version /> 元素。