使用英语阅读

通过


NuGet 3.2 发行说明

NuGet 3.2-RC 发行说明 | NuGet 3.2.1 发行说明

NuGet 3.2 于 2015 年 9 月 16 日发布,集合了对 3.1.1 发行版的改进和修正,可从 dist.nuget.orgVisual Studio 库获取。

新功能

  • 位于同一文件夹中的项目现在可以在该文件夹中具有每个项目特定的不同 project.json 文件。 对于每个项目,将 project.json 文件命名为 {ProjectName}.project.json,然后 NuGet 即可为每个项目的该配置正确提供首选项。 仅安装 Windows 10 Tools v1.1 时支持此功能 - 1102
  • NuGet 客户端支持使用 Windows 10 Tools v1.1 指定全局 NUGET_PACKAGES 环境变量,从而指定 project.json 托管项目中所用共享全局包文件夹的位置。

命令行更新

这是 nuget.exe 客户端的第一个版本,它支持 NuGet v3 服务器,并可还原使用 project.json 文件管理的项目的包。

此发行版解决了多个已通过身份验证的源问题,以改进与客户端的交互。

  • 安装/还原交互仅将初始请求的凭证提交到已通过身份验证的源 - 1300456
  • 推送命令不解析配置中的凭证 - 1248
  • 用户代理和标头现在会提交到 NuGet 仓库,以帮助使用统计信息跟踪功能 - 929

我们进行了多项改进,以更好地处理在尝试使用远程 NuGet 仓库时遇到的网络故障:

  • 改进了无法连接到远程源时的错误消息 - 1238
  • 更正了 NuGet 还原命令,以在发生错误条件时正确返回 1 - 1186
  • 现在,在 HTTP 5xx 失败 时,系统会每隔 200 毫秒重试网络连接,并且最多 5 次尝试 - 1120
  • 改进了在推送命令期间的服务器重定向响应处理 - 1051
  • nuget install -source 现在支持将 Nuget.Config 中的 URL 或仓库名称作为参数使用 - 1046
  • 还原期间未能在仓库中找到的缺失包现在将报告为错误,而不是警告 1038
  • 已更正针对 UNIX/Linux 场景的 \r\n 的 multipartwebrequest 处理 - 776

修正了若干命令的多个问题:

  • 推送命令在对包源执行 PUT 之前不再执行 GET - 1237
  • 列出命令不再重复版本号 - 1185
  • 使用 -build 参数的打包命令现在能够正确支持 C# 6.0 - 1107
  • 更正了尝试打包使用 Visual Studio 2015 生成的 F# 项目的问题 - 1048
  • 当包已存在时还原命令现在没有操作 - 1040
  • 改进了 packages.config 文件格式错误时的错误消息 - 1034
  • 更正了还原命令,使用 -SolutionDirectory 开关来处理相对路径 - 992
  • 改进了更新命令以支持解决方案范围的更新 - 924

有关此发行版中解决的问题的完整列表,请参阅 NuGet GitHub 命令行里程碑

Visual Studio 扩展更新

Visual Studio 中的新功能

  • 在解决方案节点上的解决方案资源管理器中增加了新的上下文菜单项,从而可以在不生成解决方案的情况下还原包 (1274)。

New 'Restore Packages' Context Menu Item

Visual Studio 中的更新和修正

有关已通过身份验证的源的修正也通过此扩展汇总和解决。 此扩展还解决了以下身份验证项:

  • 现在能够正确处理已通过 NuGet v3 身份验证的源,而不是通过 v2 身份验证的源 - 1216
  • 更正了使用 project.json 的项目的身份验证凭证以及与 v2 源通信的请求 - 1082

网络连接影响了 Visual Studio 中的用户界面,通过以下修正解决了此问题:

  • 改进了包版本的本地缓存维护 - 1096
  • 更改了在连接到 v3 源时的失败行为,不再尝试将其视为 v2 源 - 1253
  • 现在可防止使用多个包源安装包时安装失败 - 1183

改进了处理与生成操作的交互:

  • 现在,如果单个项目的包还原失败,则继续生成项目 - 1169
  • 如果将包安装到一个项目,并且解决方案中的另一个项目依赖该项目,则将强制重新生成解决方案 - 981
  • 更正了包安装失败行为,以正确回滚对项目的更改 - 1265
  • 更正了在 packages.config 中意外移除包的 developmentDependency 属性的问题 - 1263
  • 现在,调用 install.ps1 时可以传递正确的 $package.AssemblyReferences 对象 - 1245
  • 当项目处于不正常状态时,不再阻止卸载 UWP 项目中的包 - 1128
  • 现在能够正确生成混合了 packages.configproject.json 项目的解决方案,无需执行第二次生成操作 - 1122
  • 能够正确找到链接到或位于其他文件夹中的 app.config 文件 - 1111894
  • UWP 项目现在可以安装未列出的包 - 1109
  • 现在允许在解决方案未处于已保存状态时进行包还原 - 1081

更正了对配置文件更新的处理:

  • 后续生成 project.json 托管项目时不再移除从包传递的目标文件 - 1288
  • ASP.NET 5 解决方案生成期间不再修改 Nuget.Config 文件 - 1201
  • 包更新期间不再更改允许的版本约束 - 1130
  • 锁定的文件现在可在生成期间保持锁定 - 1127
  • 现在可在更新期间修改 packages.config,而不将其重写 - 585

改进了与 TFS 源控件之间的交互:

  • 安装绑定到 TFS 的包不再会失败 - 1164980
  • 更正了 NuGet 用户界面以允许 TFS 2013 集成 - 1071
  • 更正了对正确从包文件夹还原的包的引用 - 1004

最后,我们还进行了以下改进:

  • 减少了 project.json 托管项目的日志消息详细程度 - 1163
  • 现在可在用户界面中正确显示已安装的包版本 - 1061
  • 对于 nuspec 中指定了依赖项范围的包,现在为稳定包版本安装了这些依赖项的预发行版本 - 1304

有关通过 Visual Studio 扩展解决的问题的完整列表,请参阅 NuGet GitHub 3.2 里程碑

已知问题

我们将继续跟踪 GitHub 问题列表(位于以下位置)中的问题:https://github.com/nuget/home/issues