Visual Studio 2017 15.5.0 版发行说明

Last Update: 2017/12/4

开发人员社区 | 系统要求 | 兼容性 | 可分发代码 | 许可条款 | 博客 | 已知问题


注意

如果正在从一个非英语的语言版本访问此页,并想要查看最新内容,请访问此“发行说明”页(英文版)。

本文介绍 Visual Studio 2017 的最新发行信息。 单击按钮下载最新版本。

有关安装帮助,请参阅我们安装脱机安装文档。

反馈

我们期待你的宝贵意见和建议! 对于这些问题,可通过安装程序或 Visual Studio IDE 右上角的“报告问题”选项告知我们。 Feedback Icon 图标位于右上角。 可以在 Visual Studio 开发者社区中跟踪问题,也可在其中提问和找到答案。 也可以通过 UserVoice 提出产品建议或通过实时聊天客户支持获取免费的安装帮助。

现在需要专业支持? 请参阅可用的支持选项

发布历史记录

可在 Visual Studio 2017 发行节奏文档中详细了解我们如何发行,了解如何识别不同版本。

已知问题

请参阅已知问题部分。


发布日期:2017 年 11 月 27 日 - Visual Studio 2017 15.4.5 版

此版本中已修复的主要问题

这些是已在此版本中解决的客户报告的问题:


发布日期:2017 年 11 月 14 日 - Visual Studio 2017 15.4.4 版

摘要:此版本中的新增功能

此版本中已修复的主要问题

这些是已在此版本中解决的客户报告的问题:


详细信息:此版本中的新增功能

Visual Studio IDE

设置和安装

  • 安装程序现在可在安装期间生成 Windows 还原点。
  • “添加和删除程序”现在具有适用于每个 Visual Studio 安装的条目。 Visual Studio 安装程序现在支持修改和卸载每个条目。
  • 从脱机布局进行的安装不再需要在已断开连接的计算机上安装中间证书。
  • 我们改进了安装和更新过程中的可靠性和可取消性。

更新了“错误”对话框

更新后的“错误”对话框可以显示详细信息,有助于使用 Visual Studio 开发人员社区的潜在解决方案解决安装问题。 (图 1)。

New installer error dialog box

(图 1)安装程序“错误”对话框

性能

  • 针对大型 C# 和 Visual Basic 项目缩短了加载时间。
  • 缩短了在调试和发布之间切换配置的时间。
  • 减少了在 .NET Core 项目中添加、删除和重命名文件和文件夹所需的时间。
  • 已弃用轻量级解决方案加载 (LSL),因为未使用 LSL 的解决方案加载时间会减少。

连接的服务

  • 更新后的 Azure 存储服务提供程序支持面向 .NET Core 的 ASP.NET Core 项目。

团队资源管理器更新

团队资源管理器的最新更新的灵感来源于 UserVoice 上的用户反馈。

现在可以使用 Git 子模块和工作树,并在团队资源管理器中配置 fetch.prunepull.rebase。 Visual Studio 现在将 Git 子模块和工作树视为常规存储库。 只需将它们添加到本地存储库列表即可获取编码!

请注意,仍不能对子模块执行需要多个存储库支持的任何操作,例如同时查看父存储库和子模块中的文件。

此外,现在可以更轻松地设置 Git 默认行为,使其可以修剪每个提取以及对每个拉取执行变基操作。 修剪每个提取会删除不再存在于服务器上的本地跟踪分支,有助于将分支列表保持干净和最新。 对每个拉取执行变基操作有助于将提交历史记录保持线性,使其更易于关注。 可以在“全局和存储库”设置中找到这些选项。

.NET Core 和 ASP.NET Core 安全建议

Microsoft 已发布面向 .NET Core 和 ASP.NET Core 的安全建议。 有关详细信息,请参阅 .NET CoreASP.NET Core 存储库中的对应公告。 请注意以下信息:

  • CVE-2017-8585 格式不正确的证书可能导致拒绝服务:.NET Core 1.0、1.1 和 2.0 中存在安全漏洞,格式不正确的证书或其他 ASN.1 格式的数据可能在 Linux 和 macOS 上引发无限循环,导致拒绝服务。 建议系统管理员将 .NET Core 运行时更新到 1.0.8、1.1.5 或 2.0.1 版本。 建议开发人员将 .NET Core SDK 更新到 2.0.3 或 1.1.5 版本。

  • CVE-2017-8700 CORS 绕过可能导致信息泄露:ASP.NET Core 1.0 和 1.1 中存在安全漏洞,跨源资源共享 (CORS) 可被绕过,造成信息泄露。

  • CVE-2017-11879 开放重定向可能导致特权提升:ASP.NET Core 2.0 中存在安全漏洞,其中存在开放重定向,可能导致特权提升。

  • CVE-2017-11770 拒绝服务漏洞:ASP.NET Core 1.0、1.1 和 2.0 中存在安全漏洞,当通过 Windows Http.Sys 托管该应用程序时,Windows Http.Sys 中格式不正确的请求可能导致拒绝服务。

使用 ASP.NET Core 1.0、ASP.NET Core 1.1 和 ASP.NET Core 2.0 创建的新项目现在将使用包含以上安全更新的包版本。 对于现有项目,用户可以使用“管理 NuGet 程序包”对话框将包更新到较新版本。

MSVC 编译器工具集

在 Visual Studio 2017 15.5 中,生成工具中的 MSVC 编译器工具集的版本已更新至 14.12,这与 15.4 版本 14.11 工具集兼容。 升级到 Visual Studio 2017 15.5 后,如果在编译代码时出现问题,可以强制并行安装 14.11 工具集和 14.12 工具集。 安装 C++ 桌面工作负载后,可以在“单个组件”选项卡下选择 Visual Studio 2017 15.4 工具集 (14.11)。

C# 编译器中的新增功能

C# 编译器现在支持 7.2 版语言功能集,包括:

  • 支持通过 ref struct 修饰符在整个 Kestrel 和 CoreFX 中使用 Span<T> 类型。
  • readonly struct 修饰符:强制结构的所有成员成为 readonly。 这增加了代码的正确性,也允许编译器在访问成员时避免对值进行不必要的复制。
  • in 参数/ref readonly 返回:允许安全传递和返回不可修改的结构,并且与 ref 值具有等同的效率。
  • private protected 访问修饰符:限制访问 protectedinternal 的交集。
  • 非尾随命名参数:现在可在参数列表中使用命名参数,不需要所有的尾随参数也通过名称进行传递。

Visual Studio Tools for Xamarin

此版本包含对用于 iOS 和 Android 的 Xamarin SDK 的更新的支持:

实时运行当前视图

使用新的实时运行当前视图功能可更加轻松地构建基于 XAML 的用户界面(图 2)。 构建用户界面时,在 Android Emulator 中键入的内容实时实现,无需保存、编译或重新部署应用。

(图 2)实时运行当前视图

Xamarin Live Player

通过 Xamarin Live Player,开发人员可直接在 iOS 和 Android 设备上持续部署、测试和调试应用。 下载 Xamarin Live Player 应用(可在 App Store 或 Google Play 中获取)后,可将设备与 Visual Studio 配对,仅使用 Visual Studio 和移动设备开始生成移动应用。 由于针对 Xamarin.Forms 进行了优化,现在可以修改其 XAML,并在设备上随时查看所反映的更改,无需编译或等待完整部署。 此版本极大地改进了 Xamarin Live 功能,包括:

  • 更智能的调试和实时运行:当调试 Xamarin Live Player(图 3)时,Live Player 现在会自动将启动项目调整到适当的平台。 例如,如果选择了 iOS,且配对的 Live Player 设备是 Google Pixel,IDE 会建议将启动项目更改为 Android。
  • 部署状态:现在可以通过状态栏中的部署状态,跟踪 Xamarin Live Player 的“调试”状态。
  • 控制台和错误窗口集成:在 Visual Studio 中,在应用中记录的输出现在显示于控制台窗口内,错误现在显示于错误窗口中。
  • 实时运行上下文菜单和键盘快捷方式:为了便捷地即时可视化你的 XAML UI,我们添加了上下文菜单和键盘快捷方式,从而轻松快捷地预览你的 XAML 页面。
  • 实时运行文档切换:当生成出 UI 时,通常会在不同 XAML 文档间切换。 更改 Visual Studio 中的活动文档会自动实时运行打开的任意 XAML 页面,因此用户可以轻松地在不同页面间来回切换,并将其即时反映到设备上。

Xamarin Live Player 配对、部署和实时编辑模式动画。

(图 3)Xamarin Live Player 配对、部署和实时编辑模式动画**

模板

“文件”->“新建项目”->“移动应用”(图 4)的操作更加简单,这归功于 iOS、Android 和 Windows 应用的跨平台模板向导的更新,包括:

  • .NET Standard 支持 - 现在可以创建将 .NET Standard 2.0 用作代码共享策略的新的跨平台 Xamarin 应用。
  • 目标平台复选框 - 通过“文件”->“新建”,选择所需的平台。
  • PackageReference - 现在所有模板默认使用 PackageReference,这是在 Xamarin 应用中轻松管理 NuGet 包的新方法。
  • 展开性能的改进 - 模板现在的展开速度应比之前快得多。 在最极端情况下,可能会看到展开时间提升了至多 40 倍。

File -> New -> Mobile App

(图 4)“文件”->“新建”->“移动应用”设置

远程 iOS 模拟器

远程 iOS 模拟器提供完全从 Windows 版 Visual Studio 调试和测试模拟器上的 iOS 应用的简单办法。 它支持 Mac 上的 iOS 模拟器可执行的所有内容,甚至更多 - 包括多点触控支持! 现在,从 Visual Studio 2017 15.5 版开始,远程 iOS 模拟器在所有 Visual Studio 版本中可用,包括免费的 Community Edition。

Xamarin Android SDK 管理器

新的 Xamarin Android SDK 管理器简化了对 Android SDK 的管理。 可以在 Visual Studio 中转到“工具”->“Android”->“Android SDK 管理器”来使用新的 SDK 管理器。

F# 工具改进

在 Visual Studio 2017 15.5 版中,我们侧重于面向 .NET Core SDK 项目的 F# 工具支持。 现在支持以下内容:

  • 可以从“文件”>“新建项目”创建新的 .NET Core 控制台应用、.NET Standard 库和 .NET Core 单元测试项目。
  • 我们为现有的 .NET Core 和 .NET Standard 项目添加了支持。
  • 还为面向 .NET Framework 版本的现有 .NET Core SDK 项目添加了支持。
  • 支持项目到项目的引用。
  • 添加了对 Web SDK 项目的支持(例如,使用 Giraffe 模板的 F# ASP.NET Core 项目或其他项目)。
  • 现在可以在 Web SDK 项目中右键单击“发布工具”。
  • 支持使用 Visual Studio Team Services 工具自动生成 CI/CD 管道。

此外,对不侧重于 .NET Core SDK 项目的 Visual F# 工具也作出了几处改进。 它们包括:

  • 从 F# 定义转到 C# 定义,由 Saul RennisonVasily Kirichenko 提供。
  • 为蓝色(额外对比度)主题着色,由 Microsoft 和 Vasily Kirichenko 提供。
  • 属性页会适当地在不同监视器上自动调整大小。
  • 缩进设置为“智能”时,智能自动缩进新行,由 Duc Nghiem Xuan 提供。
  • 缩进设置为“智能”时,自动取消缩进右括号,由 Saul Rennison 提供。
  • 枚举字段现在在工具提示、查找所有引用、转到所有和内联重命名中显示为符号,由 Vasily Kirichenko 提供。
  • 由换行符分隔的 XML 文档注释不会预置到当前的悬停 XML 文档注释中,由 Vasily Kirichenko 提供。
  • CHBen 已更正 ref 关键字的 XML 文档。
  • 多个 bug 修复和性能改进。

请在 GitHub 存储库上记录遇到的任何问题。

F# 设置中的更改

获取 F# 的方式已发生更改:

  • 如果安装了需要 .Net Core 2.0 的工作负载,还会默认安装 F# 语言支持。 .NET Core、ASP.NET 和 Azure 工作负载现在会执行此操作。
  • .NET 桌面开发、数据存储和处理以及数据科学和分析应用程序工作负载中的“F# 语言支持”复选框已重命名为“F# 桌面支持”。

F# 4.1 编译器改进

此版本的 F# 4.1 编译器中修复了大量 bug:

  • 改进了 F# 编译器中的 PDB 生成,修复了在 2014 年发现的调试 F# 时出现的五个已知问题
  • 修复了编译器错误解析记录字段的问题,由 Vasily Kirichenko 提供。
  • StartAsTask 现在会正常地等待取消完成,由 Matthias Ditrich 提供。
  • 现在仅在属性中使用类型时才会创建程序集引用。
  • 具有相同事例名称的单用例结构的可区分联合不再自动转换为对象类型。
  • MailboxProcess 上可能无限异步循环。 已修复接收问题。

Visual C++ 改进

现在可以通过“文件” > “打开” > “CMake”将现有的 CMake 项目和缓存配置导入到 IDE 中。

ARM 联机编译器导出的“打开文件夹”支持

在适用于嵌入式项目和 IoT 项目的 Linux C++ 工作负载中选择选项,然后便可编辑和编译面向 ARM 微控制器的项目。 我们支持打开作为 GCC 从 ARM 联机编译器导出的项目,然后可从 Visual Studio 中对这些项目执行本地交叉编译操作。 有关详细信息,请参阅关于使用 Visual C++ 进行 ARM 开发的博客文章。

远程任务

“打开文件夹”现在支持远程任务。 即通过安全外壳 (SSH) 在远程系统上执行的任务。 这些任务还可以配置为将文件复制到目标计算机,用来在 Linux 系统上执行编译代码等操作。 若要了解详细信息,请参阅关于在 Visual Studio 中使用远程任务的博客文章。

标准模板库的改进

开放标准网站保存了一些介绍组如何生成开放标准的页面。 我们针对 C++17 标准,向标准模板库添加了以下改进:

  • not_fn()P0005R4 建议采用库基础知识 TS v2 的 not_fn 函数绑定器来替换旧的求反器 not1not2
  • 重新组织 enable_shared_from_thisP0033R1 Re-enabling shared_from_this
  • 弃用残留库部分:P0174R2。 通过近年来不断增加新功能,许多 C++ 标准库的功能已被取代,或我们已知道这些功能无法达到其最初的预期用途。 本文建议在可以选择更好、更简单或更清晰的功能时,弃用这些功能。
  • 删除 std::function 中的分配器支持:P0302R1。 类模板 std::function 具有采用分配器参数的多个构造函数,但其语义并不明确,且会在执行以下操作时出现技术问题:在清除类型的上下文中存储分配器,以及随后恢复该分配器以进行副本分配期间所需的任何分配。 应删除这些构造函数。
  • not_fn() 的修复:P0358R1。 除了其他改进之外,也对 std::not_fn 提出了新措词建议,提供对在调用包装器时传播值类别的支持。
  • shared_ptr<T[]>shared_ptr<T[N]>P0414R2。 将库基础知识中的 shared_ptr 更改合并到 C++17。
  • 修复数组的 shared_ptrP0497R0。 修复数组的 shared_ptr 支持。
  • 弃用 shared_ptr::unique()P0521R0。 对 CA 14 的建议解决方法 (shared_ptr use_count/unique)。
  • 弃用 P0618R0 不是解决 Unicode 转码问题的最佳方法,应停用附录 D 的此库组件。
  • 删除动态异常规范:P0003R5。 C++11 已弃用动态异常规范。 从 C++17 中删除该功能,同时将(仍)弃用的 throw() 规范严格保留为 noexcept(true) 的别名。
  • 拼接映射和集:P0083R3。 此设计允许拼接所有类型的操作、将元素(包括映射键)移出容器并进行一些其他有用的操作和设计。 这改进了关联和无序的关联容器,从而支持对节点的操作。 这是标准库中的新增功能。
  • 阐明 insert_return_typeP0508R0。 有唯一键的关联容器和有唯一键的无序容器均有一个返回嵌套类型 insert_return_type 的成员函数插入。 该返回类型是本节中指定专用类型。
  • STL 的内联变量:P0607R0

Visual C++ 编译器改进

Visual C++ 编译器支持 75% 的 C++17 功能,包括结构化绑定、constexpr lambda、if constexpr、内联变量、fold 表达式、hexfloat 文本和将 noexcept 添加到类型系统。 这些功能位于 /std:c++17 开关下。 /permissive- 符合模式包括对两阶段名称查找的部分支持,以及对可变参数模板改进的包扩展支持。 此外,/permissive- 模式已作为新语言下拉菜单添加到 C++ 项目的项目属性中。

Visual C++ 优化器改进

C++ 代码生成团队已改进了现有的编译器优化,并在 15.5 版中添加了新的优化。

选择链接器改进:

  • 新的 /OPT:ICF 实现速度更快:链接时间最多可提升 9%。
  • 修复了增量链接。 增量链接的速度绝不会比完整链接慢。

选择对现有优化的改进:

  • 改善了条件表达式的向量化启发式。
  • 强化了针对取消切换便循环的优化。
  • 改进了循环展开。
  • 改进了 float 的最大/最小 codegen。

选择新的优化:

  • 改进并删除了对 SSA 优化器的冗余(和部分冗余)说明。
  • 优化了对条件标量存储的矢量化。
  • sin(x)cos(x) 调用合并到 sincos(x)

Visual C++ 支持 Intel AVX-512,包括将 AVX-512 中的新函数引入位宽为 128 和 256 的寄存器的向量长度说明。

我们将在 C++ 代码分析中传送 20 余个新 C++ Core Guidelines 检查。 这些检查包含智能指针正确性、全局初始化表达式的正确使用和标记构造(如 gotobad_cast)的使用。

15.3 中可能存在的一些警告编号在 15.5 中不再可用。 这些警告被更具体的检查替换。

Google Test 和 Boost.Test 框架的内置支持

在 Visual Studio 中写入、发现并运行 Google Test 和 Boost Test 单元测试。 测试资源管理器现在默认支持 Google Test 和 Boost.Test 框架。 若要升级之前的 Visual Studio 安装,请打开 Visual Studio 安装程序,单击 Visual Studio 实例上的“修改”,然后选中“使用 C++ 的桌面开发”下的“Google Test 测试适配器”和“Boost.Test 测试适配器”框。 轻松创建新的 Google Test 项目:选择“文件”>“新建”>“项目”>“Visual C++”>“测试”>“Google Test”。

有关详细信息,请参阅 Microsoft Docs 上的 How to use Google Test for C++ in Visual Studio(如何在 Visual Studio 中使用适用于 C++ 的 Google Test)和 How to use Boost.Test for C++ in Visual Studio(如何在 Visual Studio 中使用适用于 C++ 的 Boost.Test)页。

嵌入式源和嵌入式 PDB 支持

使用嵌入式源,Visual Studio 调试程序现在可以直接从 .pdb 文件检索托管二进制文件的源文件。 将嵌入式源与嵌入式 PDB 配合使用以创建完全独立的 Debuggle .dlls。 深入了解使用 /embed 编译器开关。

现在在使用嵌入式 PDB 生成时,还可以使用“编辑并继续”调试托管代码。

Visual Studio Web 工具

  • 改进了 Razor 语法的格式设置。
  • 我们改进了将 ASP.NET 应用程序发布到 Azure 虚拟机的体验。

Docker 容器工具

  • Visual Studio 中用于 Docker 容器的工具现在支持多阶段的 Dockerfile,简化了创建优化容器映像的过程。
  • 如果在运行 Windows 10 1709 版或 Windows Server 1709 版的计算机上运行 Visual Studio,容器映像将默认使用 Windows Server 1709 版。 可以编辑 Dockerfile 来更改此操作。 请注意,使用 Windows 较旧版本的容器映像将仅在 Windows 10 1709 版和 Windows Server 1709 版上以 Hyper-V 隔离模式运行。 有关更多详细信息,请参阅 Windows 容器版本兼容性页。
  • 默认情况下,当打开具有 Docker 支持的项目时,Visual Studio 会在后台自动拉取、生成并运行必要的容器映像。 可以通过 Visual Studio 中的“在后台自动启动容器”设置禁用此操作。

TypeScript/JavaScript 改进

Angular 2 支持

Angular2 开发人员现在可以在内联模板和 .ngml 模板文件中看到错误信息、完成情况和代码导航。 请参阅示例存储库获取概述和说明。

性能改进

我们在 JavaScript/TypeScript 文本编辑器项目选项页面下添加了“仅分析包含在编辑器中打开的文件的项目”复选框。 此选项将提高大型解决方案中的性能和可靠性。 请注意,选中此框后,需要执行解决方案生成才能查看所有文件中 TypeScript 错误的完整列表。

我们修复了一个问题,该问题导致 TypeScript/JavaScript 语言服务使用的内存超出预期,也可能导致在多个项目的解决方案中加载 TypeScript 的错误版本。

Windows Communication Foundation (WCF) 工具

连接到服务提供程序的 WCF Web 服务引用(图 5)现在已包含在 Visual Studio 15.5 中。

WCF Web Service Reference

(图 5)WCF Web 服务引用

若要使用此工具,请右键单击 .Net Core 项目中的“依赖项”项目项,然后选择“添加连接服务”选项,并输入要为其生成代码的 Web 服务的地址。 生成的 WCF 客户端代理代码保存到 C# 文件中,该文件会自动添加到你的项目中。 这允许基于 .NET Core 的代码与 Web 服务轻松通信。

请访问 GitHub 中 WCF Web 服务引用的发行说明,获取更多详细信息。

使用快照调试程序对生产中的应用进行调试

现在可以使用吸附点和记录点对在 Azure App Service 中运行的 ASP.NET 和 ASP.NET Core 应用程序进行调试,此过程对应用几乎没有任何影响。

  • 设置吸附点(图 6),使其捕获应用状态,包括本地、监视和调用堆栈。 与断点不同,应用不会在命中吸附点时停止。

Snappoints

(图 6)吸附点

  • 使用记录点(图 7)记录应用的新消息,无需添加代码或重新部署应用程序。

Logpoint

(图 7)记录点

IntelliTrace 改进

使用 IntelliTrace 调试时后退

使用新的 IntelliTrace 后退调试功能IntelliTrace 自动针对每个断点和调试程序步骤拍摄应用程序快照。 这样便可以返回到上一个断点或步骤,并查看当时应用程序的状态。

此功能在 Windows 10 周年更新及更高版本中提供,目前支持调试 ASP.NET、WinForms、WPF、托管控制台应用和托管类库。 要启用此功能,请转到“工具” > “选项” > “IntelliTrace”设置,然后选择“IntelliTrace 事件和快照”。

stepback

(图 8)使用 IntelliTrace 调试时后退

从 Visual Studio 访问启用了条件访问的 Azure 资源

Visual Studio 现在支持访问启用了条件访问的 Azure 资源,这需要用户使用 2FA 进行身份验证(即使帐户本身不需要使用 2FA)。 以前,如果用户帐户需要使用 2FA 登录,Visual Studio 会出现 2FA 提示,然后用户便可访问需要 2FA 的任何资源;但如果用户帐户不需要使用 2FA,Visual Studio 将无法访问这些 2FA 资源。

现在,如果帐户不需要使用 2FA 但资源需要,用户可以不使用 2FA 并在 Visual Studio 中对帐户进行身份验证,当用户首次尝试访问需要 2FA 的 Azure 资源时,Visual Studio 会提示用户重新进行身份验证,这次需要使用 2FA 来启用对资源的访问。

Windows 应用商店中用于 Office 的 Office 工具支持

Office Web 加载项项目和 VSTO 项目现在支持使用 Windows 应用商店中的 Office 进行开发。 可以使用 Windows 应用商店中的 Office 创建、生成、调试和发布 Web 加载项项目和 VSTO 项目。

  • 用于 Windows 10 的 Fall Creators Update(1709 版)和 Windows Server 2016 需要使用 Office 工具和 Windows 应用商店中的 Office。

Visual Studio Tools for Xamarin

此版本包含对用于 iOS 和 Android 的 Xamarin SDK 的更新的支持:

Xamarin Live

通过 Xamarin Live,开发人员可直接在 iOS 和 Android 设备上持续部署、测试和调试应用。 下载 Xamarin Live Player(可在 App Store 或 Google Play 中获取)后,可将设备与 Visual Studio 配对,仅使用 Visual Studio 和移动设备开始生成移动应用。 由于针对 Xamarin.Forms 进行了优化,现在可以修改其 XAML,并在设备上随时查看所反映的更改,无需编译或等待完整部署。 此版本极大地改进了 Xamarin Live 功能,包括:

  • 更智能的调试和实时运行:当调试 Xamarin Live Player(图 9)时,Live Player 现在会自动将启动项目调整到适当的平台。 例如,如果选择了 iOS,且配对的 Live Player 设备是 Google Pixel,IDE 会建议将启动项目更改为 Android。
  • 部署状态:现在可以通过状态栏中的部署状态,跟踪 Xamarin Live Player 的“调试”状态。
  • 控制台和错误窗口集成:在 Visual Studio 中,在应用中记录的输出现在显示于控制台窗口内,错误现在显示于错误窗口中。
  • 实时运行上下文菜单和键盘快捷方式:为了便捷地即时可视化你的 XAML UI,我们添加了上下文菜单和键盘快捷方式,从而轻松快捷地预览你的 XAML 页面。
  • 实时运行文档切换:当生成出 UI 时,通常会在不同 XAML 文档间切换。 更改 Visual Studio 中的活动文档会自动实时运行打开的任意 XAML 页面,因此用户可以轻松地在不同页面间来回切换,并将其即时反映到设备上。

Xamarin Live Player 配对、部署和实时编辑模式动画。

(图 9)Xamarin Live Player 配对、部署和实时编辑模式动画**

模板

“文件”->“新建项目”->“移动应用”(图 10)的操作更加简单,这归功于 iOS、Android 和 Windows 应用的跨平台模板向导的更新,包括:

  • .NET Standard 支持 - 现在可以创建将 .NET Standard 2.0 用作代码共享策略的新的跨平台 Xamarin 应用。
  • 目标平台复选框 - 通过“文件”->“新建”,选择所需的平台。
  • PackageReference - 现在所有模板默认使用 PackageReference,这是在 Xamarin 应用中轻松管理 NuGet 包的新方法。
  • 展开性能的改进 - 模板现在的展开速度应比之前快得多。 在最极端情况下,可能会看到展开时间提升了至多 40 倍。

File -> New -> Mobile App

(图 10)“文件”->“新建”->“移动应用”设置

Xamarin Android SDK 管理器

新的 Xamarin Android SDK 管理器简化了对 Android SDK 的管理。 可以在 Visual Studio 中转到“工具”->“Android”->“Android SDK 管理器”来使用新的 SDK 管理器。

适用于 Unity 的 Visual Studio 工具

  • 从 Unity 添加或删除脚本时,Unity 项目现在会在 Visual Studio 中自动重载。
  • 修复了在使用后端为 IL2CPP/.NET 4.6 的 UWP 游戏时 .Player 项目的生成问题。
  • 引入了使用由 Xamarin 和 Visual Studio for Mac 共享的 Mono 调试程序选项,用于调试 Unity 编辑器。

Live Unit Testing

  • 现在 Live Unit Testing 的生成在进程外提升了 Visual Studio 中的内存使用率。

博客

Developer Tools Blogs 充分利用开发者工具博客网站中提供的见解和建议。

开发者工具博客为用户提供有关所有新版本的最新信息,并且可以通过该博客访问针对大量功能的深入解读文章。 有关 .NET 世界的深入简介,请查看 DotNet 博客。 可以在每个语言区团队博客(C#VBC++F# 等)中找到详细的专业知识。


已知问题

Visual Studio 2017 Known Issues查看 Visual Studio 2017 15.5 版中全部现有已知问题和可用解决办法。

我们一直坚持听取用户的反馈。 若要查找最新问题、记录新问题和投票赞成现有问题,请访问开发人员社区站点。


Visual Studio 2017 发行说明历史记录

Visual Studio 2017 预览版发行说明

The Developer Community Portal请参阅 Visual Studio 2017 15.4 版中已解决的客户所报问题。

Visual Studio 2017 15.4 版发行说明

The Developer Community Portal请参阅 Visual Studio 2017(15.3 版)中已解决的客户所报问题。

Visual Studio 2017 15.3 版发行说明

The Developer Community Portal请参阅 Visual Studio 2017(15.3 版)中已解决的客户所报问题。

Visual Studio 2017(版本 15.2)发行说明

The Developer Community Portal请参阅 Visual Studio 2017(15.2 版)中已解决的客户所报问题。

Visual Studio 2017(版本 15.1)发行说明

The Developer Community Portal请参阅 Visual Studio 2017(15.1 版)中已解决的客户所报问题。

Visual Studio 2017(版本 15.0)发行说明

The Developer Community Portal请参阅 Visual Studio 2017(15.0 版)中已解决的客户所报问题。


返回页首