Visual Studio 2017 15.6 版发行说明 Visual Studio 2017 version 15.6 Release Notes

开发人员社区 | 系统要求 | 兼容性 | 可分发代码 | 许可条款 | 博客 | 已知问题Developer Community | System Requirements | Compatibility | Distributable Code | License Terms | Blogs | Known Issues


如果正在从一个非英语的语言版本访问此页,并想要查看最新内容,请访问此“发行说明”页(英文版)。If you are accessing this page from a non-English language version, and want to see the most up-to-date content, please visit this Release Notes page in English.


可在本页底部切换页面语言。You can switch the page language at the bottom of this page. 单击 图标搜索语言,或从可用语言列表中选择。Click the icon, search for your language, or select from the list of available languages.

下载 Visual Studio 2017 的最新版本Download the Current Release of Visual Studio 2017

单击按钮下载最新版 Visual Studio 2017。Click the button to download the latest version of Visual Studio 2017. 有关说明,请参阅安装 Visual Studio 2017For instructions, see Install Visual Studio 2017.

注意:安装包大小会根据当前 Visual Studio 配置而有所不同。Note: Installation package size will vary depending on your current Visual Studio configuration.


我们期待你的宝贵意见和建议!We’d love to hear from you! 对于这些问题,可通过安装程序或 Visual Studio IDE 右上角的“报告问题”选项告知我们。For issues, let us know via the Report a Problem option in the upper right-hand corner of either the installer or the Visual Studio IDE itself. Feedback Icon 图标位于右上角。The Feedback Icon icon is located in the upper right-hand corner. 可以在 Visual Studio 开发者社区中跟踪问题,也可在其中提问和找到答案。You can track your issues in the Visual Studio Developer Community, where you can ask questions and find answers. 也可以通过 UserVoice 提出产品建议或通过实时聊天客户支持获取免费的安装帮助。You can also make a product suggestion through UserVoice or get free installation help through our Live Chat support.


现在需要专业支持?Need professional support right now? 请参阅可用的支持选项See available support options.

发布历史记录Release History


可在 Visual Studio 2017 发行节奏文档中详细了解我们如何发行,了解如何识别不同版本。You can learn more about how we ship our releases and how to identify different versions in the Visual Studio 2017 Release Rhythm document.

已知问题Known Issues

查看 Visual Studio 2017 15.6 版中全部现有已知问题和可用解决办法。See all existing known issues and available workarounds in Visual Studio 2017 version 15.6.

Visual Studio 2017 Known Issues Visual Studio 2017 Known Issues

我们一直坚持听取用户的反馈。We are fully committed to listening to your feedback. 若要查找最新问题、记录新问题和投票赞成现有问题,请访问开发人员社区站点。Visit the Developer Community site to find the latest issues, log new issues, and upvote existing issues.

发布日期:2018 年 3 月 5 日 - Visual Studio 2017 15.6 版Release Date: March 5, 2018 - Visual Studio 2017 version 15.6

摘要:此版本中的新增功能Summary: What's New in this Release

此版本中已修复的主要问题Top Issues Fixed in this Release

这些是已在此版本中解决的客户报告的问题:These are the customer-reported issues addressed in this release:

The Developer Community Portal 请参阅 Visual Studio 2017 15.6 版中已解决的客户所报的所有问题。The Developer Community Portal See all customer-reported issues fixed in Visual Studio 2017 version 15.6.

此版本中的新增功能What's New in this Release


在 15.6 版中,我们进一步改善了解决方案负载性能,特别适用于缓存设计时生成结果的情况。In 15.6, we continued improving solution load performance, specifically for scenarios when design time build results are cached. 当计算机中已打开某个解决方案时,大型 C# 和 Visual Basic 解决方案的加载速度比以前的快两倍。Large C# and Visual Basic solutions will load twice as fast as before when a solution has already been opened on a machine.

.NET Core 解决方案负载.NET Core Solution Load

我们专注于 .NET Core,根据我们的实验室度量值,客户预期的平均解决方案负载时间可提升 20%。We focused on .NET Core and according to our lab measurements, customers can expect 20% faster solution load times on average.

UI 响应通知UI Responsiveness Notifications

为了提供更多扩展对性能和可靠性影响的透明度,Visual Studio 执行实时分析以确定扩展是否有可能导致无响应。In order to provide more transparency around extensions' impact on performance and reliability, Visual Studio performs real-time analysis to determine whether an extension is likely to have caused unresponsiveness. 如果确定扩展会导致挂起,Visual Studio 将显示通知,允许用户禁用可疑扩展或禁止将来对该扩展(图 1)的通知。If an extension is determined to have caused the hang, Visual Studio will display a notification which allows the user to disable the suspect extension or suppress future notifications for that extension (Figure 1).

UI Responsiveness notification with option to disable
(图 1)禁用扩展或禁止以后通知的 UI 响应能力通知选项(Figure 1) UI Responsiveness notification option to disable extension or suppress future notifications

安装和设置Installation and Setup

  • 此发布中,没有管理员权限的用户也将能创建 VS 布局,这将允许非管理员创建脱机网络安装。With this release, users without administration rights will be able to create a VS layout, which will allow non-administrators to create an offline network install.
  • 第一次安装 Visual Studio 或从 web 更新 Visual Studio 时,用户将感受到新的、更加透明的 Visual Studio 安装程序设置体验。When you install Visual Studio for the first time or update it from the web, you will see a new, more transparent setup experience for the Visual Studio Installer. 实质上并没有任何更改,但新版本将逐步向你展示出魅力所在(图 2)。Under the hood, nothing has changed – but the new experience shows you step-by-step what's happening (Figure 2).
Improved transparency setup for Visual Studio Installer
(图 2)改进了 Visual Studio 安装程序的透明度设置(Figure 2) Improved transparency setup for Visual Studio Installer
已支持暂停(图 3)安装并在稍后继续安装(图 4)。 We've added support to pause (Figure 3) your installation and resume (Figure 4) it at a later time.
Pause your installation
(图 3)暂停安装(Figure 3) Pause your installation
Resume your installation
(图 4)继续安装(Figure 4) Resume your installation

安装详细信息Installation Details

通过新的安装详细信息(图 5),可以看到下载大小、下载完成百分比和下载速率。With new installation details (Figure 5), you can see the download size, download percentage completed and the rate of the download. 也可以看到正在安装的包总数和剩余数量。You can also see total number of packages being installed and how many are remaining.


如果暂停安装并在稍后继续,则该进度适用于余下需要下载和安装的内容,并且不会从以前的计数开始。If you pause the installation and later resume, the progress applies to what’s left to be downloaded and installed, and does not start from the previous count.

Installation details
(图 5)安装详细信息(Figure 5) Installation details

IDE 设置IDE Setup

  • 我们已简化更新过程,Visual Studio 中的更新通知将直接转到安装程序而不是“扩展”或“更新”。We've streamlined the update process by having the update notification in Visual Studio take you directly to the installer, instead of Extensions and Updates.
  • 已更新工作负载“ASP.NET 和 Web 开发”和“.NET Core 跨平台开发”,包括“用于 Web 开发的云工具”。The workloads "ASP.NET and web development" and ".NET Core cross-platform development" have been updated to include "Cloud tools for web development". 此组件包含从 Visual Studio 内部使用 Azure Functions 所需的一切内容。This component contains everything needed to consume Azure Functions from within Visual Studio.


    从 15.6 预览版 3 更新到预览版 4 或更高版本时,计算机将在不通知或未与用户确认的情况下自动重启。When updating from 15.6 Preview 3 to Preview 4 or greater, the computer may restart automatically without notifying or confirming with the user.

编辑器改进Editor Improvements

  • 我们在默认键盘映射中为 Edit.Duplicate 添加了 Ctrl+D 作为快捷方式。We added Ctrl+D as the shortcut for Edit.Duplicate in the default keyboard mapping. 之前的同时按下(Ctrl+E、V)仍然有效,并且可在所有键盘映射方案中使用。The previous chord (Ctrl+E, V) still works, and is available in all keyboard mapping schemes.
  • 我们已添加展开选定内容命令,允许向下一个逻辑块连续展开选定内容。We've added the Expand Selection command, which allows you to successively expand your selection to the next logical block. 可使用快捷方式 Shift+Alt+= 展开,使用 Shift+Alt+- 提取当前选定内容。You can use the shortcuts Shift+Alt+= to expand and Shift+Alt+- to contract the current selection.

F# 语言和工具改进F# Language and Tooling Improvements

此版本对 F# 及其工具做出了大量改进。A lot of improvements went into F# and its tools for this release. 其中最为重要的是与.NET Core SDK 项目有关的改进。The most significant of them are related to .NET Core SDK projects. 与往常一样,来自社区的重要贡献都汇集于此。As always, significant contributions from the community came together here, as well.

F# 编译器和核心库改进F# Compiler and Core library Improvements

F# 工具改进F# Tooling Improvements

  • 已实现基于 .NET Core SDK 项目的文件排序,包括添加以上部分/以下部分、文件夹支持和 Visual Studio UI 更新而无需重新加载项目。File ordering for .NET Core SDK-based projects has been implemented, including Add Above/Below, folder support, and Visual Studio UI refreshing without the need to reload the project.
  • 已实现对基于 .NET Core SDK 项目的多目标支持。Support for multi-targeting of .NET Core SDK-based projects has been implemented.
  • 基于 .NET Core SDK 的项目现在支持共享文件。Shared files are now supported in .NET Core SDK-based projects.
  • F#/.NET Framework 项目可引用 .NET Standard 项目。.NET Standard projects can be referenced by F#/.NET Framework projects.
  • 错误报告改进,作者 Vasily KirichenkoEugene AuduchinokError reporting improvements, by Vasily Kirichenko and Eugene Auduchinok.
  • 性能改进,作者 Vasily KirichenkoEugene AuduchinokDaniel Wedelich 和 Microsoft。Performance improvements, by Vasily Kirichenko, Eugene Auduchinok, Daniel Wedelich, and Microsoft.
  • 更多精确的自动完成功能和大量 bug 修复,作者 Vasily Kirichenko 和 Microsoft。More precise autocompletion with numerous bugs fixes, by Vasily Kirichenko and Microsoft.
  • 未打开命名空间中的静态成员可在完成中使用,作者 Vasily KirichenkoStatic members in unopened namespaces are available in completion, by Vasily Kirichenko.
  • 在“文档突出显示”和“查找所有引用”中显示命名空间符号,作者 Vasily KirichenkoNamespace symbols appear in Document Highlight and Find All References, by Vasily Kirichenko.
  • 结构化准则代码可用于其他编辑器(VSCode、用于 Mac 的 VS、Rider),作者 Eugene AuduchinokStructured Guidelines code has been made available for other editors (VSCode, VS for Mac, Rider), by Eugene Auduchinok.
  • 用于 F# 构造函数的更佳折叠和结构化准则,作者 Eugene AuduchinokBetter collapsing and structured guidelines for F# constructors, by Eugene Auduchinok.
  • 简化名称分析器不再简化打开语句,作者 Vasily KirichenkoOpen statements are no longer simplified in the Simplify Names analyzer, by Vasily Kirichenko.
  • 现在支持在 QuickInfo 中显示 sbytebyte IL 字段,作者 Vasily KirichenkoDisplay of sbyte and byte IL fields in QuickInfo is now supported, by Vasily Kirichenko.
  • 未使用的声明代码修复在未调用的 F# 函数或方法上不再触发,作者 Vasily KirichenkoUnused declaration code fix is no longer triggered on uncalled F# functions or methods, by Vasily Kirichenko.
  • 现在支持在 .NET Framework 项目中拖放文件夹,作者 Paulo NobreDrag and Drop across folders in .NET Framework projects is now supported, by Paulo Nobre.
  • 可切换未使用的声明分析器和代码修复。The unused declarations analyzer and code fix can now be toggled.
  • Bug 修复和性能改进,作者 Eugene Auduchinok 和 Microsoft。Bug fixes and performance improvements, by Eugene Auduchinok and Microsoft.
  • #if INTERACTIVE 定义的环绕代码现在支持不需要类型检查的 IDE 功能,作者 Eugene AuduchinokCode surrounded by #if INTERACTIVE defines now support IDE features which do not require type checking, by Eugene Auduchinok.
  • 已修复旧版 F#/ ASP.NET (.NET Framework) 项目上空白“新文件”窗口修复的意外还原,作者 Loïc DenuzièreAn inadvertent reversion of a fix for empty "New file" window on older F#/ASP.NET (.NET Framework) projects has been fixed, by Loïc Denuzière.

F# 基础结构和开放源代码改进F# Infrastructure and Open Source Improvements

  • 已实现版本控制更新 RFCVersioning update RFC has been implemented.
  • 在编译器和工具中使用的所有本地化文件都可用于 GitHub,并可接收社区贡献。All localization files used in the compiler and tools are available on GitHub, and are able to accept community contributions.
  • 可在一个小时内生成夜间生成,最多不超过 4 个小时。Nightly builds can be produced in an hour; down from 4+ hours.
  • 我们删除了 Windows 10 SDK 上针对开放源代码参与者的依赖项。We removed our dependency on the Windows 10 SDK for open source contributors.
  • 附属程序集和 FSharp.Core.resources.dll 现在已包含在 F# 编译器 SDK 中。Satellite assemblies and FSharp.Core.resources.dll are now included in the F# compiler SDK.
  • 如果程序集信息未更改,编译器便不再在 Visual F# 代码库中自行重新生成。The compiler no longer rebuilds itself in the Visual F# codebase if assembly info has not changed.
  • 已实现用于 FSharpSymbolUseToString(),因此调试编辑器工具时更容易查看所有符号的使用结果,作者 Eugene AuduchinokToString() is implemented for FSharpSymbolUse to make it easier to look at all symbol use results when debugging editor tooling, by Eugene Auduchinok.

要查看 15.6 版的完整提交更改日志,请参阅我们的标记To see the full commit changelog for the 15.6 release, see our tag.


查看 Visual Studio 2017 15.6 版中全部现有已知问题和可用解决办法。See all existing known issues and available workarounds in Visual Studio 2017 version 15.6.

Visual C++ 改进Visual C++ Improvements

  • 从“添加新项目”对话框中创建 CMake 项目。Create CMake projects from the Add New Project dialog.
  • 在 Visual Studio 中打开新的 CMake 项目时,现在可以选择是否自动生成 CMake 缓存。You can now choose whether or not to automatically generate the CMake cache when you open new CMake projects in Visual Studio.
  • CMake 项目中的 CTest、Google Test 和 Boost.Test 测试在测试资源管理器中自动发现并列出CTest, Google Test, and Boost.Test tests in CMake projects are automatically discovered and listed in Test Explorer.
  • 使用 Boost.Test 项模板轻松将 Boost 单元测试添加到项目。Easily add Boost unit tests to your project with Boost.Test item templates. Boost 单元测试现在使用 Boost 动态库。Your Boost unit tests now use the Boost dynamic library.
  • 支持 C++17 保证复制消除Support for C++17 guaranteed copy elision.
  • 对用于 Android 开发的 Android NDK r15c 的内置支持Built-in support for Android NDK r15c for Android development.
  • Visual Studio Android 工具支持 Android 应用,这些工具基于 SDK 级别 25 和更低级别构建,可在 Oreo 设备上部署和运行。Support in Visual Studio Android tools for Android apps that are built with SDK level 25 and lower to deploy and run on Oreo devices.
  • 进一步实现每个 C++ 17 标准一个 C++ 17 标准库,包括 API,例如 stable_sort、分区、并行内联矢量:: emplace_back 和 <memory_resource>。Further progress toward implementing the C++17 Standard Library, including APIs such as stable_sort, partition, inline vector::emplace_back in parallel, and <memory_resource>, per C++17 standards.
  • 如果这些测试位于工作空间根目录下,即使它们未显式添加到包含路径中,C++ 开启文件夹也会自动发现丢失的包含文件。Missing include files are automatically discovered for C++ Open Folder if they exist under the workspace root, even if they are not explicitly added to the include path.
  • 调试选项可用于嵌入式 ARM GCC 支持Debug options are available for Embedded ARM GCC support. 右键单击二进制文件,选择“调试和启动设置”,然后选择“C/C++ 调试”微控制器。Right-click your binary, choose Debug and Launch Settings, and then select C/C++ Debug microcontroller.
  • 按配置优化已启用并在 ARM64 上完全受支持。Profile-Guided Optimization is enabled and fully supported on ARM64.
  • 向 C++ Core Guidelines Check 扩展添加了详细规则,将使代码更简洁、更安全且更易于维护。Added more rules to the C++ Core Guidelines Check extension that help you make your code cleaner, more secure, and maintainable.
    • C++ Core Checker 扩展,用于检测生存期超出范围的间接寻址。A C++ Core Checker extension to detect use of indirections with a lifetime that is out of scope.
    • 围绕整数溢出的 5 个新检查强制规则,以及 C++ Core Guidelines 中的其他规则。5 new checks enforcing rules around integer overflow, and additional rules from the C++ Core Guidelines.
    • C++ Core Check 现包括一组代码分析规则,用于检测算术溢出。C++ Core Check now includes a set of code analysis rules for detecting arithmetic overflows.
  • 支持运行单个文件代码分析(或解决方案资源管理器中的所选文件);已清理“生成和分析”菜单。Support for running single file Code Analysis (or on your selection of files from the Solution Explorer); cleaned up the Build and Analyze menus. “运行代码分析”不再运行代码生成,从而加快了分析运行速度。"Run Code Analysis" no longer runs code generation, which speeds up analysis runs.
  • 非活动配置中的 IntelliSense 错误将在编辑器中显示为紫色波形。IntelliSense errors for inactive configurations will be shown as purple squiggles in the editor. 要处理的配置数量可以在“工具”>“选项”中进行配置。The number of configurations to process is configurable in Tools > Options.
  • 重要编译时改进Significant compile-time improvements:
    • 编译器通过改进预先递增的循环优化和在 LTCG 中标识和传播恒定全局数据,对代码进行优化,加快运行速度。The compiler optimizes your code to run faster through improved optimizations of pre-incremented loops and improved identification and propagation of constant global data in LTCG.
    • 相较于 15.5 版,编译时更短。Compile times are shorter compared to 15.5. 编译器前端在大多数输入上速度提升 3-5%。The compiler front-end is between 3-5% faster on most inputs. 由于减少了核心优化算法的开销,编译器优化器速度提升了 3%。The compiler optimizer is 3% faster due to reduced overhead of core optimization algorithms. 另外,由于重新架构了数据结构,大型 LTCG 编译的速度提升了 10%。Additionally, large LTCG compilations are 10% faster due to re-architected data structures.
  • 在完整的链接方案中,映射文件生成开销已降低。Mapfile generation overhead is reduced in full linking scenarios. 但仍建议使用 PDB 文件而不是映射文件。We still recommend using PDB files instead of mapfiles.

C# 编译器C# Compiler

C# 编译器现在支持:The C# compiler now supports:

  • CoreCLR 上的编译器服务器,用于生成吞吐量性能。Compiler server on CoreCLR, for build throughput performance.
  • CoreCLR(/keyfile 选项,所有操作系统)上的强名称签名。Strong name signing on CoreCLR (/keyfile option, all OSes).

除了大量 bug 修复和一项重大更改(请参阅重大更改的运行列表)之外,还对 7.2 版的语言功能进行了两项较小的语言更改:In addition to numerous bug fixes and one breaking change (see running list of breaking changes), two minor language changes were made to the 7.2 language features:

Visual Studio Tools for XamarinVisual Studio Tools for Xamarin

此发布包括 Xamarin.iOS 11.8 和 Xamarin.Android 8.2。This release includes Xamarin.iOS 11.8 and Xamarin.Android 8.2.

使用 iOS 模拟器预览实时 XAMLLive XAML Previewing with the iOS Simulator

通过 Xamarin Live Player,开发人员可仅使用 Visual Studio 和 iOS 或 Android 设备持续部署、测试和调试应用。The Xamarin Live Player enables developers to continuously deploy, test, and debug their apps using just Visual Studio and an iOS or Android device. Visual Studio 2017 15.5 版增加了对开发人员直接在 Android 模拟器中预览实时 XAML 更改的支持,而无需重新编译或重新部署。Visual Studio 2017 version 15.5 added support to enable developers to preview real-time XAML changes directly in the Android emulator without requiring a recompile or redeploy. 此发布将这一功能引入到适用于 Windows 的远程 iOS 模拟器中。This release brings this functionality to the Remoted iOS Simulator for Windows.


对于此发布,我们已无需使用完成数据库即可在安装包上获得 IntelliSense(图 6)。For this release, we have removed the need for a completion database in order to get IntelliSense on installed packages (Figure 6). 这意味着在安装包后无需等待四个小时,现在只需几秒钟便可获得完整的常用包,例如 numpypandasThis means that instead of waiting up to four hours after installing a package, you will now get completions in just a few seconds for popular packages such as numpy and pandas.

Python completions for the pandas package
(图 6)panda 包的 Python 完成(Figure 6) Python completions for the panda's package

我们添加了用于文档字符串的自定义颜色功能,当文档字符串用于类或函数中时,还可以将正则表达式模式作为调用到 re 库(图 7)中的一部分进行检测。We have added the ability to customize the color used for doc-strings, when they are used in a class or function, and also regular expression patterns detected as part of a call into the re library (Figure 7). 这些可在“工具>字体>颜色”、“Python文档”和“Python 正则表达式”下进行更改。These may be changed under Tools > Fonts > Colors, "Python Documentation" and "Python Regular Expression".

Example of highlighted doc-string and regular expression
(图 7)突出显示文档字符串和正则表达式的示例(Figure 7) Example of highlighted doc-string and regular expression

最后,对于 Anaconda 用户,我们正在尝试检测和集成 conda。Finally, for Anaconda users, we are experimenting with detection and integration of conda. 启用后,conda 环境将在 Visual Studio 中自动显示,我们将使用 conda 而不是 pip 来管理包。When enabled, your conda environments will appear within Visual Studio automatically, and we will use conda rather than pip to manage packages. 有关详细信息,请参阅 Visual Studio 15.6 版中有关 Python 的新增内容的博客文章。See the what's new for Python in Visual Studio 15.6 blog post for more information.

调试和诊断Debugging and Diagnostics

CPU 使用情况工具CPU Usage Tool

CPU 使用情况工具可以显示异步代码(也称为“异步调用堆栈拼接”)的逻辑调用堆栈(图 8)。The CPU Usage tool can display logical call stacks for asynchronous code (aka 'Async Call Stack Stitching') (Figure 8).

  • 要查看逻辑调用堆栈(即“拼接调用堆栈”),请打开 CPU 使用情况工具的“筛选器”下拉菜单中的“拼结异步代码”设置。To see logical call stacks (i.e. 'stitched call stacks'), turn on the "Stitch Async Code" setting in the Filter drop-down menu of the CPU Usage tool.
  • 代表父级函数或任务运行的异步代码将在“调用树”和“调用方/被调用方”视图中显示为子级。Asynchronous code running on behalf of a parent function or Task will appear as a child in the Call Tree and Caller/Callee views.
  • 这一改变使得导航异步代码和理解其性能特征变得更容易。This change makes it easier to navigate asynchronous code and understand its performance characteristics.


    对于某些异步代码模式,此功能可能需要很长时间才能生成逻辑调用堆栈。This feature can take a long time to produce the logical call stacks for some async code patterns. 如有必要,可以取消分析并关闭设置。You can cancel the analysis and turn off the setting if necessary. 此行为仅在使用 ALT-F2 性能探查器启动页进行事后风格分析期间可用。This behavior is only available during post-mortem style profiling using the ALT-F2 Performance Profiler launch page. 在调试期间使用 CPU 使用工具时,不显示逻辑调用堆栈。When the CPU Usage tool is used during debugging, it does not shows logical call stacks.

Logical Call Stack Tree with Call Stack Stitching in effect
(图 8)有效使用调用堆栈拼接的逻辑调用堆栈树(Figure 8) Logical Call Stack Tree with Call Stack Stitching in effect
CPU 使用情况工具(可在“诊断工具”窗口和 ALT-F2 性能分析器中的 F5 调试期间使用)现在显示基于特定代码行(图 9)的 CPU 消耗的源行突出显示*。 The CPU Usage tool (available during F5 Debugging in the Diagnostic Tools window and in the ALT-F2 Performance Profiler) now displays source line highlighting based on the CPU consumption of specific lines of code *(Figure 9). * 查看 CPU 使用情况工具的“调用树”或“调用方/被调用方”视图时,所选函数的源将显示该函数的每个源行上所指示的 CPU 消耗量。* When you view the Call Tree or Caller/Callee views of the CPU Usage tool, the source for the selected function is displayed with CPU consumption indicated on each source line of the function. * 如果函数的 CPU 性能是一个问题,现在可以确定在执行函数时该函数的哪些源行专门负责 CPU 消耗。* If CPU performance of a function is a concern, now you can determine specifically what source lines of the function are responsible for the CPU consumption when the function was executing.
>[!NOTE] >此功能要求包含在生成的 PDB 中的源信息由项目设置控制。This feature requires that source information be included in the generated PDB which is controlled by the project settings. PDB 没有源信息的项目将无法显示行属性或源文件。Projects for which PDBs do not have source information will be unable to display either the line attribution or the source file.
CPU Usage tool with source line highlighting
(图 9)使用源行突出显示的 CPU 使用情况工具(Figure 9) CPU Usage tool with source line highlighting

线程名支持Thread Name Support

基于用户反馈,调试器现在可以显示在转储调试中通过 SetThreadDescription API 设置的线程名。Per user feedback, the debugger is now able to display thread names that are set via SetThreadDescription APIs in dump debugging. 此功能要求在 Windows 10 Fall Creators Update 或更高版本上收集转储文件。This feature requires dumps to be collected on Windows 10 Fall Creators Update or later builds.

Snapshot DebuggerSnapshot Debugger

如果正在使用在 Azure 应用服务中运行的 ASP.NET 应用程序,并且希望尝试 Snappoints 或 Logpoints,则可以通过在“调试目标”下拉列表(图 10)中选择“Snapshot Debugger (Azure 应用服务)”来实现。If you are working on an ASP.NET application running in Azure App Service, and would like to try out Snappoints or Logpoints, you can do so by selecting "Snapshot Debugger (Azure App Service)" in the Debug Target dropdown (Figure 10).

Start Snapshot Debugger for ASP.NET application
(图 10)启动用于 ASP.NET 应用程序的 Snapshot Debugger(Figure 10) Start Snapshot Debugger for ASP.NET application

.NET 效率.NET Productivity

在 15.6 预览版 2 中,我们增加了导航到反编译源功能。In 15.6 Preview 2, we’ve added the ability to navigate to decompiled sources. 启用后,在任何引用的类型或成员上调用转到定义或查看定义时,将显示其通过 ILSpy 反编译使用重新构造方法主体的定义。When enabled, invoking Go To Definition or Peek Definition on any referenced type or member will show its definition with reconstructed method bodies via ILSpy decompilation. 要打开此功能,请转到“工具”>“选项”>“文本编辑器”>“C#”>“高级”>“启用导航以反编译源”(图 11)To turn on this feature, go to Tools > Options > Text Editor > C# > Advanced > Enable navigation to decompiled sources (Figure 11).

Navigate to decompiled sources
(图 11)导航到反编译源(Figure 11) Navigate to decompiled sources

我们还添加了几个 .NET EditorConfig 选项:We also added a couple more .NET EditorConfig options:

  • dotnet_prefer_inferred_tuple_namesdotnet_prefer_inferred_tuple_names
  • dotnet_prefer_inferred_anonymous_type_member_namesdotnet_prefer_inferred_anonymous_type_member_names


要查看所有 .NET 编码约定选项,请参阅 EditorConfig 的 .NET 编码约定设置To see all .NET coding convention options, check out .NET coding convention settings for EditorConfig.

Visual Studio Web 工具Visual Studio Web Tools

  • 解决方案资源管理器为 .NET Core 项目提供了一项名为“文件嵌套”的新功能,该功能允许用户控制解决方案资源管理器中相关文件的显示方式。Solution Explorer has a new capability for .NET Core projects called "file nesting", which allows users to control how related files appear in Solution Explorer.
  • 项目发布体验已更新。The project publishing experience has been updated.
  • 在“新建项目”对话框中:In the New Project dialog:
    • 选择 .NET Framework 版本的下拉列表已移至对话框的底部,不再用作模板的筛选器。the drop-down that lets you pick a version of .NET Framework has been moved to the bottom of the dialog and no longer acts as a filter for the template.
    • 对于节点“Web”,子节点“网站”已重命名为“以前的版本”。for the node "Web", the sub-node "Web Site" has been renamed to "Previous Versions".
  • WebForms 和 MVC 5 项目的调试下拉列表:The debug drop-down for WebForms and MVC 5 projects:
    • 允许用户为 Azure 应用服务部署的应用选择 Snapshot Debugger。allows users to select the Snapshot Debugger for Azure App Service deployed apps.
    • 已更新到与 ASP.NET Core 项目具有相同的浏览器选择笔试。has been updated to have the same browser selection gesture as ASP.NET Core projects.

持续交付工具Continuous Delivery Tools

对于源代码管理下的解决方案,可以单击团队资源管理器中的“持续交付”磁贴来配置自动化生成并部署应用程序。For solutions under source control, you can click on the Continuous Delivery tile in Team Explorer to configure automated build and deployments for your application.

配置持续交付工具Configure Continuous Delivery Tools

  • 添加了对 TFVC 作为源代码管理提供程序的支持。We added support for TFVC as a source control provider. 可以在 VSTS TFVC 团队项目(图 12)中为源代码管理下的解决方案配置持续交付。You can configure continuous delivery for solutions under source control in a VSTS TFVC team project (Figure 12).
Configure Continuous Delivery for projects in a VSTS TFVC project
(图 12)为 VSTS TFVC 项目中的项目配置持续交付(Figure 12) Configure Continuous Delivery for projects in a VSTS TFVC project
  • 添加了对通过 SSH 进行 Git 身份验证的支持。We added support for Git authentication over SSH. 可以在 VSTS 或 GitHub Git 存储库中使用已启用的 SSH AUTH 为源代码管理下的解决方案配置持续交付。You can configure continuous delivery for solutions under source control in a VSTS or GitHub Git repo with SSH AUTH enabled.

  • 引入了对容器化项目的支持。We introduced support for containerized projects. 可以使用 ASP.NET Core 项目为解决方案配置持续交付和针对 Linux 上的目标 Azure 应用服务(适用于容器的 Web 应用)的支持(图 13)。You can configure continuous delivery for solutions with ASP.NET Core projects and docker support targeting Azure App Service on Linux (Web App for Containers) (Figure 13). 如果在 Azure 订阅下尚不存在 Azure 应用服务,默认情况下,“配置持续交付”对话框将在 Linux(用于容器的 Web 应用)和 Azure 容器注册表上创建新的 Azure 应用服务。The Configure Continuous Delivery dialog will default to create a new Azure App Service on Linux (Web App for Containers), and an Azure Container Registry if one doesn’t already exist under your Azure Subscription.

Configure Continuous Delivery to Azure dialog for App Service on Linux
(图 13)Linux 上 Azure 应用服务的“配置持续交付”对话框(Figure 13) Configure Continuous Delivery to Azure dialog for App Service on Linux

团队资源管理器Team Explorer

Git 标记支持Git Tag Support

我们为 Git 标记添加了更多支持。We have added more support for Git tags. 现在可以创建、删除和推送标记。You can now create, delete, and push tags. 在“标记”页面,可以查看存储库中的所有标记并创建标记中的新分支。On the Tags page, you can view all of the tags in your repo, and create a new branch from a tag. 这是 UserVoice 中我们最为需要的功能之一。This was one of our most requested features from UserVoice.

对于 Visual Studio Team Services 用户,可以签出拉取请求分支。For Visual Studio Team Services users, you can check out pull request branches. 此功能让检查拉取请求、测试更改和生成代码变得更加容易。This feature makes it easier to review pull requests, test changes, and build your code.

适用于通用 Windows 平台开发的工具Tools for Universal Windows Platform Developers

Windows 10 Insider Preview SDK (版本 17095)可作为通用 Windows 平台开发工作负载中的可选组件进行安装。The Windows 10 Insider Preview SDK (Build 17095) can be installed as an optional component with the Universal Windows Platform development workload.


许多 Visual Studio 可执行文件(devenv.exe、blend.exe、wdexpress.exe 和 vsga.exe)的文件版本都反映了次要版本(例如 15.6.*)。File versions for a number of Visual Studio executables – devenv.exe, blend.exe, wdexpress.exe, and vsga.exe – reflect the minor release (for example 15.6.*).


这并不影响任何功能,但可能需要更新依靠可执行文件版本号的外部代码。This does not affect any functionalities, but external code relying on executable file version numbers may need to be updated.

测试资源管理器Test Explorer

新层次结构视图New Hierarchy View

Visual Studio 中的测试资源管理器现在具有层次结构视图(图 14),可通过项目、命名空间和类组织测试。Test Explorer in Visual Studio now has a hierarchy view (Figure 14) that organizes your tests by Project, Namespace, and then Class. 使用“层次结构”按钮可打开和关闭该视图,此按钮位于测试资源管理器窗口顶部的“分组依据”按钮旁边。This view can be toggled on and off using the hierarchy button located at the top of the Test Explorer window next to the Group By button.

Test Explorer Hierarchy View
(图 14)测试资源管理器层次结构视图(Figure 14) Test Explorer Hierarchy View

此功能不仅能使导航测试更加容易,还能一目了然地获得更好的测试反馈。This feature not only makes navigating your tests much easier, but also gives better feedback on tests at a glance.

  • 如果层次结构(项目、命名空间和类)包含了至少一个失败测试,则该结构中的“父节点”将显示测试失败图标。The “parent nodes” in the hierarchy (Project, Namespace, and Class) display a failing test icon if they contain at least one failing test.
  • 父节点后面还跟着一个数字,汇总了分组包含的测试数量。Parent nodes are also followed by a number summarizing how many tests the grouping contains. 显示在父节点右侧的持续时间(以毫秒为单位)是在该组内执行测试的总时间。The duration in milliseconds shown to the right of a parent node is the total time that tests within that group took to execute.

实时测试发现Real Time Test Discovery

使用实时测试发现(图 15)将自动发现测试,而无需生成托管项目。Tests will be discovered automatically with Real time test discovery (Figure 15) without requiring you to build your managed project. 这使得测试资源管理器可以与代码更改(例如添加、删除或编辑测试)保持同步。This allows Test Explorer to stay in sync with code changes such as adding, removing, or editing tests. 请注意,与上述适用于所有项目类型的层次结构视图功能不同,自动测试发现功能仅适用于 C# 和 Visual Basic 项目。Note that unlike Hierarchy View feature described above which is available for all types of projects, the automatic test discovery feature is only available for C# and Visual Basic projects.

Xamarin Live Player
(图 15)Xamarin Live Player 对、部署和实时编辑模式的动画(Figure 15) Animation of the Xamarin Live Player pair, deployment, and live edit modes

Win10 IoT 核心版测试支持Win10 IoT Core Testing Support

我们引入了对测试 Win10 IoT 核心版应用程序的支持。We have introduced support for testing Win10 IoT Core applications. 现在可以将此类 UWP 应用程序的测试部署到设备上进行调试和执行。Tests for such UWP applications can now be deployed to, debugged, and executed, on device. 测试也完全集成到了测试资源管理器中。The tests are also fully integrated into Test Explorer. 也可通过 VSTS CI 获得部署和执行支持。Deployment and execution support is availalbe through VSTS CI as well. 因此,Win10 IoT 核心版应用程序已完全支持在 Visual Studio 中以及在 Visual Studio Team Services 中的持续集成工作流中进行编辑、编译、调试、测试循环。Thus, Win10 IoT Core applications have full support in the edit, compile, debug, test cycle within Visual Studio, and in the Continuous Integration workflow in Visual Studio Team Services.

Win10 IoT Core Testing
(图 16)Win10 IoT 核心版测试(Figure 16) Win10 IoT Core Testing

Visual Studio 生成工具Visual Studio Build Tools

Visual Studio 生成工具可用于创建生成服务器,而无需安装 Visual Studio。The Visual Studio Build Tools allow you to create build servers without installing all of Visual Studio. 安装程序已支持 C++、ASP.NET 和桌面 .NET Core 项目。The installer already supports C++, ASP.NET, and .NET Core for Desktop projects. 为了响应客户的要求,我们正在改善 Visual Studio 生成工具以支持其他项目类型。In response to customer requests, we are enhancing the Visual Studio Build Tools to support additional project types. 在此发布中,我们增加了对 TypeScript 和 Node.js 项目的支持。In this release we have added support for TypeScript and Node.js projects. 我们期待在未来的发布中,支持更多项目类型。We expect to add support for more project types in future releases. 这是此发布 Visual Studio 生成工具的下载位置This is the download location for the Visual Studio Build Tools for this release.

Visual Studio ClickOnce 工具Visual Studio ClickOnce Tools

ClickOnce 是一种部署技术,它允许创建基于 Windows 的自更新应用程序,这些应用程序可以通过最低程度的用户交互来安装和运行。ClickOnce is a deployment technology that enables you to create self-updating Windows-based applications that can be installed and run with minimal user interaction. ClickOnce 使用证书验证应用程序发行者的真实性,并使用证书为应用程序和部署清单签名,以证明文件未被篡改。It uses certificates to verify the authenticity of the application's publisher, and to sign the application and deployment manifests to prove that the files have not been tampered with. 此发行版添加了对使用加密下一代 (CNG) 证书签名应用程序和部署清单的支持。In this release we have added support for signing the application and deployment manifests with Cryptography Next Generation (CNG) certificate.

Key VaultKey Vault

我们为 Visual Studio 15.6 版添加了现成的 Azure 服务身份验证扩展We've added the Azure Services Authentication Extension in-box for Visual Studio 15.6. 这将允许使用 Microsoft.Azure.Services.AppAuthentication 库的项目使用其 Visual Studio 帐户访问 Azure 资源(例如 Key Vault)。This will allow projects that use the Microsoft.Azure.Services.AppAuthentication library to access Azure resources such as Key Vault using their Visual Studio accounts.

自动预配 macOSAutomatic macOS Provisioning

使用 Windows 上的 Visual Studio 生成 iOS 应用变得更简单。Building iOS apps with Visual Studio on Windows just got easier. 此版本添加了一项名为“自动预配 macOS”的全新功能。This release adds a brand new feature called automatic macOS provisioning. 无需手动维护 Mac 生成计算机,只需连接到 Mac,即可使用 Visual Studio 中正确的 Xamarin.iOS 和 Mono 字节来处理安装和配置生成计算机的繁重工作。Rather than needing to manually maintain a Mac build machine, all you need to do is connect to the Mac, and we will handle the heavy lifting of installing and configuring your build machine with the correct Xamarin.iOS and Mono bits, all from Visual Studio.

iOS Wi-Fi 部署iOS Wi-Fi Deployment

远程 iOS 模拟器,允许开发人员完全在 Windows 的 Visual Studio 中测试和调试 iOS 应用,该模拟器适用于所有版本的 Visual Studio(从版本 15.5 开始),包括免费版 Community Edition!The Remoted iOS Simulator, which allows developers to test and debug iOS apps entirely in Visual Studio on Windows, is available to all editions of Visual Studio (as of version 15.5), including the free Community Edition! 该模拟器支持位置模拟、旋转、手势等功能,甚至还包括 iOS 模拟器在 Mac 上不支持的功能,如多点触控。The simulator supports functionality like location simulation, rotation, gestures, and even includes functionality that the iOS simulator on Mac does not, like multi-touch. 这为开发人员在 Windows 上生成 iOS 应用提供了很好的模拟器体验,但对于设备又如何?This provides a great simulator experience for developers building iOS apps on Windows, but what about devices? 通过 Visual Studio 2017 15.6 版,可以在网络上使用 Wi-Fi 部署来部署 iOS 应用,而不再需要电缆!With Visual Studio 2017 version 15.6, you can deploy your iOS apps over the network with Wi-Fi deployment – no cables required! 在 Xcode 中设置无线设备后,无线设备将在 Visual Studio 中像常规部署的目标一样显示。After setting up a wireless device in Xcode, it shows up in Visual Studio just like a normal deploy target.


Developer Tools Blogs 充分利用开发者工具博客网站中提供的见解和建议。Developer Tools Blogs Take advantage of the insights and recommendations available in the Developer Tools Blogs site.

开发者工具博客为用户提供有关所有新版本的最新信息,并且可以通过该博客访问针对大量功能的深入解读文章。The Developer Tools Blogs keep you up-to-date on all new releases and include deep dive posts on a broad range of features. 有关 .NET 世界的深入简介,请查看 DotNet 博客For insights into the .NET world, check out the DotNet Blog. 可以在每个语言区团队博客(C#VBC++F# 等)中找到详细的专业知识。You can find detailed expertise in each language area team blog — C#, VB, C++ and, F# — to name a few.

Visual Studio 2017 发行说明历史记录Visual Studio 2017 Release Notes History

Visual Studio 2017 预览版发行说明Visual Studio 2017 Preview Release Notes

Visual Studio 2017 版本 15.5 发行说明Visual Studio 2017 version 15.5 Release Notes

The Developer Community Portal请参阅 Visual Studio 2017 15.5 版中已解决的客户所报问题。The Developer Community Portal See customer-reported issues fixed in Visual Studio 2017 version 15.5.

Visual Studio 2017 15.4 版发行说明Visual Studio 2017 version 15.4 Release Notes

The Developer Community Portal请参阅 Visual Studio 2017 15.4 版中已解决的客户所报问题。The Developer Community Portal See customer-reported issues fixed in Visual Studio 2017 version 15.4.

Visual Studio 2017 15.3 版发行说明Visual Studio 2017 version 15.3 Release Notes

The Developer Community Portal请参阅 Visual Studio 2017(15.3 版)中已解决的客户所报问题。The Developer Community Portal See customer-reported issues fixed in Visual Studio 2017 version 15.3.

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

The Developer Community Portal请参阅 Visual Studio 2017(15.2 版)中已解决的客户所报问题。The Developer Community Portal See customer-reported issues fixed in Visual Studio 2017 version 15.2.

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

The Developer Community Portal请参阅 Visual Studio 2017(15.1 版)中已解决的客户所报问题。The Developer Community Portal See customer-reported issues fixed in Visual Studio 2017 version 15.1.

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

The Developer Community Portal请参阅 Visual Studio 2017(15.0 版)中已解决的客户所报问题。The Developer Community Portal See customer-reported issues fixed in Visual Studio 2017 version 15.0.


Top of Page