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

Last Update: 2017/10/10

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


若要查看最新版 Visual Studio 2017 的相关信息,请访问最新发行说明页。

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

<img src="media/Download Button_vs2017_8.png"alt="下载最新版 Visual Studio 2017">

反馈

我们期待你的宝贵意见和建议! 可通过安装程序或 Visual Studio IDE 中的报告问题选项报告问题。 Feedback Icon 图标位于右上角。 可在开发人员社区门户中跟踪自己的反馈。 如有任何建议,请通过 UserVoice 网站告知我们。

发布历史记录

有关各版本的发布信息,请参阅 Visual Studio 2017 发行节奏 一文。


发布日期:2017 年 9 月 19 日 - Visual Studio 2017 版本 15.3.5

2017 年 9 月 19 日发布版本中修复的问题

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

  • 引入对 Apple Xcode 9、iOS 11、tvOS 11 和 watchOS 4 的支持

发布日期:2017 年 9 月 12 日 - Visual Studio 2017 版本 15.3.4

2017 年 9 月 12 日发布版本中修复的问题

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


发布日期:2017 年 8 月 29 日 - Visual Studio 2017 版本 15.3.3

2017 年 8 月 29 日发布的版本中解决的问题

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


发布日期:2017 年 8 月 22 日 - Visual Studio 2017 版本 15.3.2

2017 年 8 月 22 日发布的版本中解决的问题

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

此版本中包括的附加修补程序:

  • Service Fabric 工具更新。
  • 在 VSIX 安装/卸载过程中,Visual Studio 升级失败,并出现 AccessDenied 故障。
  • Unity 版本 5.5 或更低版本的项目生成问题。
  • 链接文件的转储捕获。
  • 由于循环优化,导致生成静态的错误 codegen。

发布日期:2017 年 8 月 18 日 - Visual Studio 2017 版本 15.3.1

此版本中已修复的问题

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


发布日期:2017 年 8 月 14 日 - Visual Studio 2017 版本 15.3

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

  • 可访问性改进,使 Visual Studio 比以往更易于访问。
  • Azure Function 工具已包含在 Azure 开发工作负载中。 可在本地开发 Azure Function 应用程序并直接发布到 Azure。
  • 对于在 Azure Stack 和政府云(如中国区 Azure)上运行的 Visual Studio 2017,现在可直接在其中生成应用程序。
  • 我们改进了 .NET Core 2.0 的 .NET Core 开发 支持和 Windows Nano Server 容器。
  • Visual Studio IDE 中,我们改进了登录和标识、起始页、轻量级解决方案加载,以及安装 CLI。 还改进了重构、代码生成和快速操作。
  • 由于新添加了“蓝色(额外对比度)”主题并改进了屏幕读取器支持,Visual Studio 编辑器现在更易于访问。
  • 我们改进了调试器和诊断体验。 包括指向并单击“设置下一语句”。 此外,我们还更新了变量窗口的所有嵌套值并改进了“打开文件夹”调试。
  • Xamarin 新添加了一个独立编辑器,用于编辑应用的权利。
  • 更新了打开文件夹和 CMake 工具体验。 现可使用 CMake 3.8。
  • 改进了 IntelliSense 引擎以及 C++ 语言服务的项目和代码向导。
  • Visual C + + 工具集支持命令提示符初始化目标。
  • 添加了使用 C# 7.1 语言功能的功能。
  • 可安装独立于 Visual Studio 更新的 TypeScript 版本。
  • 添加了对节点 8 调试的支持。
  • NuGet添加了对以下内容的支持:新 TFM(netcoreapp2.0、netstandard2.0、Tizen)、语义化版本控制 2.0.0 以及 NuGet 警告和错误的 MSBuild 集成。
  • Visual Studio 现已将 .NET Framework 4.7 开发工具提供给受支持的平台(其中包括 4.7 运行时)。
  • 已将相关事件的群集添加到 Application Insights 搜索工具的搜索查询结果中。
  • 改进了对 SQL Server 2016 中 Redgate SQL Search 的语法支持。
  • 在连接的服务中启用了对 Microsoft Graph API 的支持。

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

我们专心聆听开发人员社区的需求。 下表列出了此版本中修复的前 10 个投票最高的问题。
Dev Community Votes   安装 F# 后深色主题加载失败。
Dev Community Votes   Visual Studio 安装程序更新导致无限循环。
Dev Community Votes   最近项目的列表未正确显示。
Dev Community Votes   无法向新的自定义配置文件添加名称。
Dev Community Votes  将 DSL 扩展 从 Visual Studio 2015 迁移到 Visual Studio 2017 时出现运行时错误
Dev Community Votes   Try...catch 块引发“TextBuffer 编辑操作,但另一个编辑正在进行中”错误消息。
Dev Community Votes   Chrome 58 中不接受 Visual Studio 自签名证书。
Dev Community Votes   由于“生成中的所有生成提交必须使用来自同一个项目集合的项目实例”,发布失败。
Dev Community Votes   每次启动 Visual Studio 2017 时都会运行“扫描新的和更新的 MEF 组件”,减缓启动速度。
Dev Community Votes   在本地调试 Visual Studio 2017 时页面加载速度慢。

The Developer Community Portal详细了解 Visual Studio 2017(版本 15.3)中已解决的客户所报问题。


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

可访问性

我们解决了此版本中的 1700 多个辅助功能问题,使 Visual Studio 比以往任何时候都更容易访问。 可以访问新添加的“蓝色(额外对比度)”主题(图 1)。 如果不希望使用或不需要完全高对比度模式,此主题可提供比常规“蓝色”主题更高的对比度。

BlueTheme

(图 1)“蓝(额外对比度)”主题

借助 Visual Studio 编辑器,可通过新的“显示行注释”命令集发现并在文本修饰之间导航。 可以在编辑器上下文菜单(图 2)中找到这一新功能。 有关详细信息,请参阅 Visual Studio 编辑器部分。

Show Line Annotations

(图 2)显示行注释

有关可访问性的详细信息,请参阅 Accessibility improvements in Visual Studio 2017 version 15.3(Visual Studio 2017 版本 15.3 中的可访问性功能)博客文章。


<a id="azstack" Azure Stack 和 Azure 政府云

使用所有相同的工具(例如 Cloud Explorer、连接的服务和 ASP.NET 发布)连接 Azure Stack 和政府云。 选择现有的政府云,如中国区 Azure(图 3),或输入组织的 Azure Stack 的发现终结点。

Azure Stack

(图 3)Azure Stack

Azure Function 工具

  • 用于开发 C# Azure Functions 的工具添加到了“Azure 开发”工作负载中。
  • 可开发使用预编译 C# 类库的 Azure Function 以及用于指定触发器的属性。
  • 可在本地开发计算机上生成、运行和调试。
  • 可直接从 Visual Studio 发布到 Azure。

有关详细信息,请参阅 Visual Studio 2017 Tools for Azure Functions(用于 Azure Function 的 Visual Studio 2017 工具)博客文章。


.NET Core 和 ASP.NET Core

  • 可通过单独的下载安装 .NET Core 2.0 SDK,以便在 Visual Studio 2017 版本 15.3 中启用 .NET Core 2.0 开发。 Visual Studio 现提供对多个 .NET Core SDK 的并行支持。 可试用 .NET Core SDK 最新的每日内部版本,同时使用 SDK 的最新公开发布版本进行开发。 有关详细信息,请查看 .NET 博客
  • 通过 Visual Basic 支持,现可在 Visual Basic 中创建 .NET Core 控制台应用程序,以及 .NET Core 和 .NET Standard 类库。
  • 通过 .NET Framework 和 .NET Standard/Core 互操作可从 .NET Framework 项目中引用 .NET Core/.NET Standard 库,反之亦然。 无需手动添加互操作 NuGet 包 - Visual Studio 会自动执行此操作。
  • 借助多个目标框架支持增强,可以为多个目标框架 (TFM) 生成项目,并使用“调试/运行”中的 TFM 选取器选取要运行的 TFM。
  • 我们添加了 Windows Nano Server 映像支持,将 ASP.NET Core 应用容器化为 Windows Nano Server 映像。 现可选择 Windows Nano Server 作为容器平台。 对于 ASP.NET Core 项目,可以在“文件”->“新建项目”下执行此操作。 对于现有项目,可以使用项目上下文菜单进行添加。
  • 本地 IIS 支持:现可使用 Visual Studio 中的 IIS 进行开发和调试。
  • .NET Framework 上的 ASP.NET Core - 若要创建面向完整 .NET Framework(仅 Windows) 的 ASP.NET Core 项目,请使用 One ASP.NET 对话框上的下拉列表。
  • 可为 .NET Standard、.NET Core 和 ASP.NET Core 项目启用 Live Unit Testing 功能。

Service Fabric 工具

此版本提供新的有状态 ASP.NET Core 项目模板、对 Service Fabric 2.5 和 2.6 SDK(以及相应运行时)的支持以及若干 bug 修补程序。

持续交付工具

我们已将这些功能从 CD4VS(用于 Visual Studio 的 Microsoft 持续交付工具)扩展移动到了 Visual Studio:

  • 为包含面向 Azure 应用服务的 ASP.NET 项目的解决方案,配置持续交付。
  • 为包含面向 Azure 应用服务的 ASP.NET Core 项目的解决方案,配置持续交付。

Visual Studio IDE

  • 我们在“帮助”菜单下添加了“键盘辅助功能”菜单命令。 这为获得有关辅助功能提示和技巧的联机文档提供了便利。
  • 诊断系统通过“信息栏”通知用户 Visual Studio 意外终止可能涉及的扩展(图 4)。 “信息栏”提供有关终止的此类信息,并询问是否要禁用可疑扩展。

    InfoBar

    (图 4)信息栏通知

  • 在打开文件夹方案中,可以通过专用 UI 选择所需的调试程序。

  • 我们已停止在不同的 Visual Studio 2017 并行安装之间共享特定设置,如工具窗口布局。 有关详细信息,请参阅在 Visual Studio 中同步你的设置文档。
  • 修复了导致 Visual Studio 在主窗口出现前挂起的“隐藏窗口”bug。
  • 扩大了可点击目标区域,以便更轻松地消除通知提示。

.NET IDE

  • 添加了若干新重构和快速修补程序,例如“解决合并冲突”、“添加 null 检查”、“添加参数”等。 请查看 Visual Studio 中的重构、代码生成和快速操作页面,查看完整列表。
  • 对 IntelliSense 中的变量名称提出了建议,有助于用户快速命名变量,例如 Person person
  • “编辑并继续”支持 C# 7.0 功能(本地函数除外)。
  • 针对 .NET Core,增加了对项目文件夹外的文件通配支持。

登录和标识

我们修复了帐户选取器控件,“重新输入凭据”运行更可靠。 在某些情况下,帐户选取器会在重新输入凭据时清除帐户。

起始页

扩大了起始页 MRU“固定”的可点击目标区域。 可以更轻松地将关注的项固定到 MRU 顶部。

轻量级解决方案加载

  • 提高了生成速度和稳定性。
  • 减少了加载的项目数。
  • 添加了一个新选项(图 5),可使 Visual Studio 确定什么最适合用户的解决方案。

Lightweight Solution Load Options

(图 5)轻量级解决方案加载选项

  • 添加了文件搜索结果解决方案,搜索延迟项目,而不仅仅是加载项目。
    • 加载项目时,会刷新所有现有的搜索,以添加进度结果。
    • 对此有一些限制:
      • 搜索不会扩展到文件中,并且不包括渐进式结果,即,类、方法等。
      • 属于项目的文件显示为简单列表。 如果文件属于一个文件夹,除了文件名,还会显示相对路径。
      • 搜索视图中没有文件项的上下文菜单。
  • “GoTo All”和“GoTo Files”在工作区中显示外部项中的内容。
  • 改进了使用轻量级解决方案加载的项目中的批生成。

安装

  • 现在,Visual Studio 安装程序支持级别小于 150% 的高 DPI 缩放。
  • vswhere.exe 可执行文件已更新为在默认情况下排除预览实例,而当命令行上包含 --prerelease 时,包含预览实例。
  • CLI 能处理 --verify``--fix--clean
    • --verify 会验证布局并通知用户缺失和无效的负载。
    • --fix 会验证布局并重新下载缺失或无效的包。
    • --clean 会删除已过时的包并允许用户将布局剪裁到特定的版本范围。
  • 添加了详细信息页面,显示安装详细信息页每个驱动器的净大小影响。 (图 6).

Drive Sizes in the Installer

(图 6)安装程序中列出的驱动器大小


Visual Studio 编辑器

  • 添加大量错误时,也可手动滚动并进行选择。
  • 添加了“蓝色”主题的新变体,满足了希望在 Visual Studio 编辑器中使用更高对比度的用户需要。 如果不希望使用或不需要完全高对比度模式,此主题可提供比常规“蓝色”主题更高的对比度。 可以依次单击“工具”->“选项”->“环境”->“常规”,尝试使用此主题。
  • 如果使用屏幕阅读器,现在可以使用新增的“显示行注释”命令,在修饰之间进行跳转。
    • 若要激活,请选择编辑器上下文菜单中的“显示行注释”(Ctrl+KCtrl+M)。 此时编辑器中会出现一个描述行上修饰的弹出窗口。
    • 使用 Ctrl+KCtrl+ Right/Left Arrow,在行上的多个注释之间导航。
    • 还可通过“显示结构”命令 Ctrl+KCtrl+G 在代码中轻松查找上下文。 它会在插入点所在的弹出窗口中显示代码行的结构上下文,且可由屏幕阅读器读取。

调试和诊断

Visual Studio Team Services 符号服务器的调试程序支持

  • 可从 Visual Studio Team Services 符号服务器查询和下载符号(图 7)。 可以依次单击“工具”->“选项”->“调试程序”->“符号”页,选择 Visual Studio Team Services 符号路径,并将路径添加到 Visual Studio 环境中。 若要设置 Visual Studio Team Services 符号服务器,请参阅 Use Symbol Server in Team Services(在 Team Services 中使用符号服务器)页。

Add VSTS Symbol Server

(图 7)添加 VSTS 符号服务器

  • 使用“开始调试”(F5) 或“附加到进程”(Ctrl+Alt+P) 调试时,支持 SetThreadDescription API。 通过此 API 设置的线程名称现在出现在“线程窗口”和“调试位置”工具栏的“线程”下拉列表中。 尚不支持在转储调试时使用此功能。
  • “输出窗口”现在显示调试时“窗口容器”中运行的应用程序的控制台输出。
  • 添加了基于 Windows Nano Server 调试在“Windows 容器”中运行的 .NET Core 应用的新支持。

指向并单击“设置下一语句”

可在调试期间,在断点处停止时按住 Ctrl 键。 代码行旁的 Run to Click(运行执行到此处)图标更改为“设置下一语句”功能(图 8)。 单击此按钮将黄色指令指针移动到该行,并设置调试程序要执行的下一语句。

Click to Set Next Statement

(图 8)单击设置下一语句

除可移植 PDB 外,Windows PDB 文件格式现在也支持源链接。 支持它的编译器可以将必需信息放在 Windows PDB 文件格式中,调试程序可以基于该信息检索源文件。

“打开文件夹”调试

使用“打开文件夹”新模板时的调试体验更加轻松。 如果已安装核心调试程序,使用新模板可选择要使用的调试程序类型。 在解决方案资源管理器的“调试和启动设置”菜单选项中,可以在“选择调试程序”对话框中选择“托管”、“本机”或“混合”。 如果已安装 C++ MDD 体验(Android C++、Linux 调试等),现在可以在相同菜单选项中看到使用 GDB 进行附加和启动的 MinGW 和 Cygwin 支持选项。

“全部刷新”在变量窗口中嵌套值

单击“监视”、“自动”和“局部变量”窗口中变量或表达式的父节点的“刷新”按钮时,该节点的所有可见子变量和子表达式也会刷新并重新计算。 不再需要单击每一个子节点的“刷新”按钮。

.NET Core 的 Live Unit Testing 支持

可以为 .NET Standard、.NET Core 和 ASP.NET Core 项目启用 Live Unit Testing 功能。


Xamarin

  • 属性页和应用清单重新设计 - 我们不断努力提高 iOS 和 Android 项目的属性页的易用性。
  • 新权利编辑器 - 添加了用于编辑应用权利的独立编辑器。

有关这些更改的完整概述,请访问 developer.xamarin.com,获取更多详细信息。


打开文件夹和 CMake 工具

  • 提高了文件夹和解决方案之间切换的稳定性。
  • 打开文件夹扩展程序控件可将源控件图标添加到文件夹。 这样一来,用户可快速查看解决方案资源管理器中文件的源控件状态,该操作目前由 SVN 实现。
  • Visual Studio 中的 CMake 体验已升级到 CMake 3.8
  • 对于使用 MinGW 或 Cygwin 的 C++ 项目,改进了“打开文件夹”中的编辑、生成和调试支持。
  • 添加了支持,以定义“CppProperties.json”和“CMakeSettings.json”中的全局和特定于配置的环境变量。 “launch.vs.json”中定义的调试配置和“tasks.vs.json”中的任务可以使用这些环境变量。
  • 增强了 Visual Studio 的 CMake 工具以提供对 CTest 集成的支持。
  • 现可使用 CMake 的 Ninja 生成器,以及通过 IntelliSense 轻松面向 64 位平台、生成、调试和编辑功能。

C++ 语言服务

实验性选项下的“启用更快的项目加载”选项已重命名为“启用项目缓存”并移至“VC++ 项目设置”下。 旧属性值不会传播到新选项。

IntelliSense 引擎

  • C++ IntelliSense 支持与批编译器版本相匹配的新的 C++17 功能。
  • 已将 C++ 编辑器中的上下文菜单选项添加到 Rescan 文件中,可在 IntelliSense 无法正常工作时使用此选项。
  • 减少了运行 C++ 代码的“查找所有引用”或“调用层次结构”时的 CPU 使用。
  • 我们改进了 C++ IntelliSense 引擎总体体验。

项目和代码向导

  • 我们按照签名对话框样式重新编写了多个项目和代码向导。
  • “添加类”直接启动“添加类向导”。 以前此处的其他所有项都位于“添加”>“新建项”。
  • Win32 项目位于“新建项目”对话框中的“Windows 桌面”类别下。
  • Windows 控制台和桌面应用程序模板现在可以在不显示向导的情况下创建项目。 在相同的类别下有一个新的 Windows 桌面向导,显示和以前相同的选项。

Visual C++ 工具集和库

  • Visual Studio 开发者命令提示符(和 Visual C++ 命令提示符)已添加对通过 -vcvars_ver=14.0 参数初始化面向 Visual C++ 2015 工具集 (v140) 的命令提示符环境的支持。
  • Visual C++ Redist 文件目录已重命名为 Microsoft.VC141.,以通过工具集 (14.1x) 匹配版本控制。 在 Visual Studio 2017 RTM 中,这些目录被错误命名为 Microsoft.VC150.
  • Visual C++ 文件版本和目录 (Visual Studio 15.3):
    • VC++ 工具集文件版本:14.11.25506.0 或 19.11.25506.0
    • VC++ 工具目录:VC\Tools\MSVC\14.11.25503(预览版中锁定目录位置)
    • VC++ Redist 目录 [a]:VC\Redist\MSVC\14.11.25325(除 MFC 和 OneCore 之外的所有运行时)
    • VC++ Redist 目录 [b]:VC\Redist\MSVC\14.11.25415(MFC 和 OneCore 运行时)

C# 7.1 语言支持


JavaScript 和 TypeScript

  • 启动 tsserver 时,我们从 64 位节点切换到了 32 位节点,以便将语言服务内存消耗减半。
  • 导入语句中的文件路径 IntelliSense 现在更快。
  • TypeScript 版本可以独立于 Visual Studio 更新进行安装,并基于每个项目进行选择。 有关详细信息,请参阅 Updating TypeScript in Visual Studio 2017(更新 Visual Studio 2017 中的 TypeScript)文档。

Node.js

  • 添加了对 Node 8 调试的支持。
  • 增强了单元测试运行程序的性能。
  • 简化了 npm 包安装程序 UI。

NuGet

  • 我们对 TFM 添加了以下支持: netcoreapp2.0netstandard2.0Tizen
  • 我们已将 NuGet 警告和错误与 MSBuild 进行集成,因此可以使用现有 MSBuild 属性禁止显示某些警告或将这些警告提升为错误。
  • 添加了对语义化版本控制 2.0.0 的支持。

若要深入了解这些新增功能和 Bug 修补程序完整列表,请参阅 NuGet 发行说明


.NET Framework 4.7

现在,Visual Studio 2017 版本 15.3 将 .NET Framework 4.7 开发工具提供给所有受支持的平台(其中包括 4.7 运行时)。 .NET Framework 4.7 提供多个新功能和改进,以及大量可靠性、稳定性、安全性和性能修复。

可在这些文章中找到有关 .NET 4.7 的更多详细信息:

容器开发工具

现在,Visual Studio 2017 版本 15.3 支持跨使用 Windows 容器的现有 .NET Framework 应用、使用 Windows 的 .NET Core 和 Linux 支持的容器开发范围。 最近的改进包括对运行 Windows Nano Server 的容器中的 .NET Core 应用程序的支持,以及对容器中 .NET Framework 应用程序的调试改进。


Application Insights 搜索中的相关事件聚类分析

已将相关事件的群集添加到 Application Insights 搜索工具的搜索查询结果中。 这些群集可以帮助用户发现应用程序行为令人意外的模式,例如来自一个国家/地区、版本或用户的大量异常。


SQL Server Data Tools (SSDT)

Visual Studio 2017 版本 15.3 现在附带了 SQL Server Data Tools,该工具完全支持在 macOS 中的 Windows、Linux 和 Docker 上运行的 SQL Server 2017。 SSDT 现在支持 Azure 上所有版本的 SQL Server、SQLDB 和 DW。

客户报告最多的问题的修复:

  • 我们添加了“忽略列顺序”选项,可以阻止因列顺序变化而发生的不必要的表数据移动。
  • 修复了 ESENT 生成错误,并提高了 Visual Studio 2017 中数据库项目生成的稳定性和性能。
  • 解决了许多客户报告最多的问题。 有关已修复问题的详细信息,请参阅 SSDT 更改日志

Redgate 数据工具

所有 Redgate 数据工具

删除了首次使用 Redgate Data Tools 时出现的简介对话框。

Redgate SQL Prompt

改进了格式设置。

Redgate ReadyRoll

  • 对 ReadyRoll 打开项目窗口进行了重新设计。
  • 改进了项目属性的加载时间。
  • 将脚本状态小组件替换为了操作栏。
  • 修复了 Azure 的连接问题。
  • 改进了 SQL Server 2016 的语法支持。

Python

  • 我们改进了屏幕阅读器、键盘导航和高对比度的辅助功能。
  • 改进了本地化,非英语用户在 UI 中看到的英文文本更少了。

R 工具

  • 改进了 IntelliSense 体验。
  • 对阻止 ping 操作的计算机提供更好的 Azure 连接性
  • 执行远程服务安装时,不再需要具有服务管理权限。
  • 改进了总体可访问性和本地化操作。

连接的服务中的 Microsoft Graph 提供程序

在连接的服务中启用了对 Microsoft Graph API 的支持。 简化了安装过程。 打开“连接的服务”对话框即可访问和安装(图 9)。

Install Microsoft Graph provider

(图 9)安装 Microsoft Graph 提供程序


已知问题

查看 Visual Studio 2017 中所有现有已知问题和可用解决方法。


Visual Studio 2017 15.4 版发行说明

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

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 版)中已解决的客户所报问题。


返回页首