NuGet 3.2 RC 发行说明

NuGet 3.1.1 发行说明 | NuGet 3.2 发行说明

NuGet 3.2 候选版本于 2015 年 9 月 2 日发布,作为 3.1.1 版本的改进和修补程序的集合。 此外,这些是首次发布到新 dist.nuget.org 存储库的版本。

新功能

  • 位于同一文件夹中的项目现在可以在该文件夹中具有特定于每个项目的不同 project.json 文件。 对于每个项目,将 project.json 文件 {ProjectName}.project.json 命名,NuGet 将正确引用和使用每个项目的内容。 这支持新功能 1102
  • NuGet.Config 现在支持 globalPackagesFolder 作为相对路径 - 1062

命令行更新

这是 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 的多partwebrequest 处理 - 776

可通过多种命令修复问题:

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

可以在 NuGet GitHub Command-Line 里程碑中找到此版本中解决的问题的完整列表。

Visual Studio 扩展更新

Visual Studio 中的新功能

  • 解决方案节点上添加了一个新的上下文菜单项,允许在不生成解决方案(1274)的情况下还原包。

新的“还原包”上下文菜单项

Visual Studio 中的更新和修复

对经过身份验证的源的修复也会在扩展中汇总和解决。 扩展中还解决了以下身份验证项:

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

网络连接影响了 Visual Studio 中的用户界面,我们修复了以下修补程序:

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

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

  • 现在,如果还原单个项目的包失败 ,则继续生成项目 - 1169
  • 将包安装到解决方案中另一个项目依赖的项目强制重新生成解决方案 - 981
  • 更正失败的包安装,以正确回滚对项目的更改 - 1265
  • 更正了 developmentDependencypackages.config - 包上属性的意外删除
  • 调用 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

可在 NuGet GitHub 3.2 里程碑中找到 Visual Studio 扩展解决的问题的完整列表

已知问题

我们继续跟踪 GitHub 问题列表中的问题,可在以下位置找到: https://github.com/nuget/home/issues