Visual Studio IconVisual Studio 2017 版本 15.7 发行说明


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



注意

此版本不是最新版本的 Visual Studio。 若要下载最新版本,请访问 Visual Studio 网站。


支持的时间范围

此版本现已不受支持。 有关 Visual Studio 支持的详细信息,请查看 Visual Studio 2017 的支持策略

请参阅最新版本的发行说明或访问 Visual Studio 站点,下载最新支持的 Visual Studio 2017 版本。

Visual Studio 博客

可从 Visual Studio 博客获取来自 Visual Studio 工程团队的官方产品见解。 可在以下文章中找到有关 Visual Studio 15.7 版的详细信息:

Visual Studio 2017 15.7 版发布


重要

Visual Studio 2017 版本 15.7 的安全公告通知


15.7 版中的显著新增功能摘要

15.7 版中解决的首要问题

15.7 版中解决了客户报告的下列问题:

请参阅 Visual Studio 2017 15.7 版中所有已解决的客户所报问题。

The Developer Community Portal


15.7 版中的最近更新详情

Release Notes IconVisual Studio 2017 15.7.0 版

发布日期:2018 年 5 月 7 日

15.7 版中的新增功能

性能

  • 此版本中的 C# 和 Visual Basic 项目解决方案加载时间平均缩短了 20%。
  • 大型 .NET Core 项目中加载 IntelliSense 的时间减少了 25%。
  • 在 Git 中切换分支时,如果无需重载解决方案和项目,则会移除模式进度对话框。

安装 Visual Studio

  • 更新对话框可提供有关更新的更多详细信息,例如更新内容、下载大小和最近更新版本。
  • 改进后的保存体验:更新 Visual Studio 前,会先在本地保存所有挂起的更改,然后再开始更新。 更新对话框将显示“全部保存并更新”按钮,而不是“立即更新”
  • 将下载缓存、共享组件、部分 SDK 和工具移动到不同的驱动器,从而减少了系统驱动器上的安装痕迹(图 1)
Install Locations
(图 1)选择安装位置

可以管理三个位置,并且智能通过第一次安装设置这些位置:

  • Visual Studio 核心产品:此位置用于你选择安装的 Visual Studio 版本的特定文件。
  • 下载缓存:该位置用于保存下载的安装文件和清单。 如果决定不保存下载缓存,可取消勾选此复选框,这些文件将在安装完成之后删除。
  • 共享组件、工具和 SDK:该位置用于保存 Visual Studio 并行安装共享的文件。

注意

如果工具和 SDK 对其安装位置具有不同的规则,它们不会安装到此驱动器。 工具/SDK 特定规则优先。

注意

用户可禁用包缓存并设置该位置。

Visual Studio IDE

指示长时间运行的操作使 Visual Studio 一直处于忙碌状态的对话框窗口(图 2)现在可使用屏幕阅读器(例如,NVDA 讲述人等)访问。 通过 Visual Studio 显示此对话框时,屏幕阅读器会播放一则音频提示,指示屏幕上看到的新信息。 用户可通过调用讲述人中的“更改视图”命令来读取对话框内容或在“取消”按钮可用时与之交互

Wait dialog
(图2)正在加载对话框窗口,现可访问屏幕阅读器

注意

要获取讲述人支持的完整信息,必须使用 Windows 10 Redstone 4 (RS4) 版本。

Visual C++ 改进

  • 该版本包含对 PDB 文件中的本地信息泄露漏洞的修复,如 CVE-2018-1037 所述。
  • C5045 是新的编译器诊断,可帮助查看代码模式,编译器可能已在其中插入 Spectre 缓解。
  • Visual Studio 附带的 CMake 安装已从 3.10 升级到 3.11。
  • CMake 项目支持 C++ 代码(例如 VCXProj)的静态分析。
  • MSVC 支持 C++17 功能 P0426R1 "constexpr for std::char_traits",这提升了 std::string_view 在编译时的可用性。
  • 使用每个单元测试上的 CodeLens 来运行、调试和查看测试状态(图 3)
Use CodeLens above each of your unit tests
(图 3)使用每个单元测试上的 CodeLens
  • 已更新适用于 C++ 的 Visual Studio iOS 开发工具,以便使用 Xcode 9。
  • 将 /analyze:ruleset 选项添加到了 cl.exe,以便基于规则集配置在 C++ 代码分析工具中向下筛选警告。 这样做可以在编译器和 IDE 的独立调用之间实现一致的体验,并通过仅运行规则集中提到的规则提高性能。
  • 现在继承构造函数的结果和继承任何其他基类成员的结果都一样。 以前,这通过声明委托给原始构造函数的新构造函数来实现的,因为此项更改,基类构造函数在派生类中可见,就好像它们是派生类函数一样,从而提高在 C++ 中的一致性。
  • 旨在采用任意类型作为非类型参数的模板现在可以使用模板参数列表中的 auto 关键字。 这允许实例化使用任何类型,而不用在实例化时需要确定和提供模板参数的类型。
  • 现在支持 std::launder
  • 在几乎所有情况下,两阶段名称查找都能正确运行。 在某些个别情况下,例如对重载运算符的非从属函数调用,将在之后的更新中得到解决。
  • MSVC 编译器工具集符合 C++ 17 标准。 使用 /Zc:__cplusplus 开关进行编译时,__cplusplus 宏的值反映了正确的标准版本号。
  • Visual C++ 运行时提供针对 Spectre 变量 1 漏洞的缓解方法。 工具集包括 DLL 的缓解版本和非缓解版本。 启用“代码生成”属性页中的 Spectre 缓解功能也可链接到 DLL 的缓解版本。 有关 Spectre 缓解的详细信息,请参阅 Visual C++ 团队博客。
  • 已实现对非优化版本 (/Od) 中的 Spectre 缓解的编译器支持。
  • 现在默认情况下已启用 /Zf 开关,这在使用多个编译过程时可促进 PDB 更快生成。
  • 显著地加快了 /await 的代码生成速度。 重新实现了代码生成器中的协同程序,提高了可靠性,并修复了绝大部分的 bug。
  • CMake 目标视图提供了一种在解决方案资源管理器中(而不是基于文件夹视图)查看 CMake 项目源的替代方法,它将代码组织到各个 CMake 目标中(图 4)。 该组织方式类似于 CMake Visual Studio 生成器创建的项目和解决方案文件的组织方式。
CMake Targets View
(图 4)CMake 目标视图
  • 属于 CMake 项目的源文件 (.cpp) 可以通过 CMake 菜单单独生成,也可以通过在解决方案资源管理器中右键单击源文件实现。
  • 造成标记解析错误的未知宏现在采用绿色波浪线下划线标出。 快速操作可用于将宏自动添加到 C++ 提示文件,从而解决问题。 单击项目菜单上的“显示标记分析错误”可列出所有解决方案或文件夹中的标记分许错误
  • 使用打开的文件夹中的快速操作将标头添加到 CppProperties.json 包含路径。
  • 现在自动下载 Linux 和 Unix 类似系统的标头以供 Windows 的 IntelliSense 使用。 这些标头还用于为 Linux 本机平台开发提供增强的 IntelliSense 体验。
  • 添加了五条新规则,用于强制执行C++ Core Guidelines 中关于指南支持库的使用的项。
  • 允许使用聚合类型的公共基类,以便无需编写样本构造函数即可通过使用聚合初始化语法初始化这些基类。 在大括号内的初始化表达式列表中,首先初始化基类,然后再初始化数据成员。
  • 将函数的模板参数推导扩展为模板类的构造函数后,构造类模板时不再需要指定参数。
  • C++17 已更改限制转换的定义。 以前,这些是在多级指针和混合指针之间允许进行的,这样限定符通常可添加到除第一个级别之外的其他级别,但是这不适用于数组。
  • 改进了以前遗留给编译器实现详细信息的主要 C++ 操作的表达式计算顺序,例如成员访问、分配和数组索引。
  • 展开 using 声明以支持可变基类成员的包扩展语义,然后即可在派生类中使用
  • 现已完全实现表达式 SFINAE,并已做出相应的标准模板库更改。
  • 实现了符合 ISO C++17 标准的并行算法。 请参阅位于 [VSInstallDir]\VC\Tools\MSVC\<ver>\include\yvals.h 的源文件获取其他详细信息。
  • 在 /std:c++17 模式下,C4834 的警告级别(“放弃具有 'nodiscard' 属性的函数的返回值”)从 W3 增加到 W1。 此外,编译器现在可以推导通过 auto 声明的非类型模板参数的类型。
  • 使用/Debug:fastlink PDB 调试大型解决方案更加可靠。 PDB 中的更改会导致减少延迟并且 VS 调试程序中的堆内存消耗会减少 30%。
  • C++ Core Check 现在是本机代码分析的默认工具集的一部分。 任何时候在项目上执行代码分析时,除了默认推荐的规则,还可从 C++ Core Check 启用规则的子集。
  • 针对 Linux 项目添加了并行编译支持,可以显著加快生成时间。 可通过“属性页”>“C/C++”>“并行编译作业的最大数量”启用
  • 已添加“公共项目包含目录”的 Linux 项目属性,从而改善将项目到项目引用包括在 Linux 解决方案中的使用。
  • 为 IDE 中的 C++ 开发人员添加了 ClangFormat 支持。 类似于 EditorConfig,可使用 ClangFormat 在键入过程中自动设置代码的格式和样式,其方式可在开发团队中强制执行。

C# 编译器

除了 bug 修复,该版本还具有以下 C# 7.3 功能:

Python

  • 可右键单击项目并选择“Python”>“MyPy”,在项目上运行 MyPy。 MyPy 将针对类型提示检查代码,并且检测到的任何类型错误都将显示在错误列表中。
  • 可创建并使用 Conda 环境,以及使用 pip 或 Conda 管理 Conda 环境的包。
  • 现在 Visual Studio 安装程序提供 Anaconda 5.1.0 版,并在选中数据科学工作负载时默认安装。
  • 在热门开源 pydevd 调试程序的基础上,添加了 Python 调试程序 ptvsd 4.0 版的选择加入版。 该选择加入版为应用程序提供更快的调试性能,可从“工具”>“选项”>“Python”>“实验性”选中“使用实验性调试程序”来启用
  • 有关使用调试程序、Conda、MyPy 和类型提示的详细信息,请参阅 Visual Studio 15.7 博客文章中的 Python

Visual Studio Tools for Xamarin

此发布包括 Xamarin.Android 8.3Xamarin.iOS 11.10

Android SDK 自动化管理

加载 Xamarin.Android 项目时,Visual Studio 可确定计算机中是否缺少项目使用的 Android API 级别,并在后台自动安装该级别。 若要启用此功能,请依次转到“工具”>“选项”>“Xamarin”>“Android 设置”>“自动安装 Android SDK”

改进的 XAML IntelliSense

使用 Visual Studio 2017 15.7 版的 Xamarin.Forms 开发人员将发现 IntelliSense 体验得到了显著改善(图 5)。 Xamarin.Forms XAML 编辑体验现在由支持 WPF 和 UWP 的相同 IntelliSense 引擎提供支持。 这会为开发人员带来许多增强功能,包括改进匹配、使用灯泡提供建议、代码导航、linting、资源完成和标记扩展完成。

Xamarin.Forms XAML editing experience
(图 5)Xamarin.Forms XAML 编辑体验
条件 XAML 的工具增强功能

XAML 编辑器为创作条件 XAML 提供 IntelliSense。 使用在应用的目标最低版本中不存在的类型时,XAML 编辑器现在不仅会发出警告,而且还会提供修复该错误的多个选项。

自动预配 iOS

为便于开发,已预配 iOS 设备(图 6)。 Visual Studio 2017 15.7 版中包括以下精简的体验:请求开发证书、生成签名密钥、在开发人员中心添加设备以及创建预配配置文件,所有体验都只需单击单个按钮即可实现。 预配 iOS 设备所需的所有繁重任务在 30 秒内即可处理完成。

iOS & Android Project Templates Image
(图 6)通过 iOS 自动预配功能简化 iOS 应用的预配
Android SDK 管理

了解 Android SDK 针对移动开发安装的可能耗时的组件。 Visual Studio 2017 15.7 版添加新的 Android SDK 管理器来模拟管理 Android SDK 安装。 打开没有为其安装 SDK 来构建它的项目后,将显示一则通知来帮助下载所需 SDK。 单击“下载和安装”并接受相关许可协议后,将在后台自动安装所需 SDK。

新建 iOS 和 Android 项目模板

无论是新的还是经验丰富的 Xamarin 开发人员,项目模板在应用构建过程中都非常重要。 它们应便于查找和设置,使你从一开始就走向成功(图 7)。 此版本已完全重新构建 iOS 和 Android 的本机项目模板,以便实现更好的可发现性和对现代导航模式(如浮出控件或底部选项卡)更好的支持。

iOS & Android Project Templates
(图 7)轻松查找和设置 iOS 和 Android 项目模板
对安装的改进

Visual Studio 安装程序附带已更新的 Android SDK 配置,包括 Android API 27 和 Android SDK Tools 26。 这包括对快速启动的支持,有了该支持,5 秒内即可启动 Android Mmulator。

此外,还包括 Android Device Manager(作为使用 .NET 工作负载进行移动开发的一部分),用于轻松创建、编辑和删除模拟器。

.NET 效率提升

  • 使用快速操作和重构(“Ctrl+.”)可执行以下操作
    • 转换 for-to-foreach,反之亦然。
    • 将私有字段设置为 readonly
  • 转到定义(“F12”)现在支持 LINQ 查询子句和析构函数
  • 使用“Ctrl+.”在 var 和显式类型之间切换,不用考虑代码样式首选项
  • 快速信息显示了 lambda 和本地函数的捕获结果,因此可以查看哪些变量在范围内。
  • 更改签名重构(在签名时使用 Ctrl+.)适用于本地函数
  • 可就地编辑 .NET Core 项目文件,因此完全支持打开包含文件夹、还原选项卡以及其他编辑器功能。 IDE 更改(例如添加链接的文件)将在编辑器中与未保存的更改合并。

测试

  • Live Unit Testing 适用于嵌入式 PDB 和指定 /deterministic 的 PDB。
  • 添加了对使用引用程序集的项目的 Live Unit Testing 支持。
  • 测试资源管理器在测试运行期间有更多的响应图标。 进行测试运行时,当前正在执行的测试旁会显示进度圈,并且会针对挂起的执行的测试显示时钟图标。

Web 工具

  • 已将 ASP.NET Web 应用程序项目模板刷新为附属包的更新版本。
  • 可将非容器化应用程序发布到 Linux 上的 Azure 应用服务。
  • 从“发布摘要”页打开 Cloud Explorer 中的 Azure 应用服务的链接。
  • 支持发布 .NET Core 框架依赖应用程序和独立应用程序。
  • 将对 F# 应用程序的支持发布到应用服务和文件夹。
  • 添加了对直接在 IIS Express 进程中管理的 ASP.NET Core 应用程序的支持。
  • 可创建存储帐户,并提供连接字符串名称,以便在发布到新的 Azure 应用服务时存储在应用服务设置中。
  • 改进了调试期间的 Kestrel HTTP 支持。
  • ASP.NET Core 应用程序支持项目属性下的“应用 URL”字段中可以有多个分号隔开的值。 该字段中有多个 URL 时,第一个 URL 用于启动浏览器。
  • 称为“标识”的新基架可通过命令行(即将推出 GUI 支持)提供,这会将标识管理 UI 添加到 ASP.NET Core 2.1 应用程序中。
  • ASP.NET 和 ASP.NET Core 项目可通过配置“Key Vault”连接服务在 IDE 中创建 Azure Key Vault 并使之与其 Web 应用程序关联。
  • ASP.NET 或 ASP.NET Core 应用程序依赖于 Azure Key Vault 时,考虑到在“工具”>“选项”>“Azure 服务身份验证”下所选的帐户,如果应用在运行时无法从开发人员计算机访问该 Key Vault,错误列表将列出错误。 这缩短了发现并更正权限或帐户问题的时间并避免运行时出现应用程序故障。
  • Web 应用使用所选 ASAL 用户帐户对其没有访问权限的 Key Vault 时,错误列表将显示警告。

Visual Studio 2017 生成工具

支持 Azure、UWP 和其他工作负载

Visual Studio 2017 生成工具支持适用于大多数 Visual Studio 项目的命令行生成。 支持的项目包括:ASP.NET、Azure、C++ 桌面、ClickOnce、容器、.NET Core、.NET 桌面、Node.js、Office 和 SharePoint、Python、TypeScript、单元测试、UWP、WCF 和 Xamarin。 希望在以后的发布中添加对 SQL 的支持。 Visual Studio 生成工具现还支持安装到容器。 可从 Visual Studio 下载下载 Visual Studio 生成工具。 可在 Visual Studio 生成工具 2017 组件目录中找到可用于定制容器映像的工作负载和组件 ID 列表。

注意

生成工具需要 Visual Studio 2017 许可证。

Visual Studio 2017 生成工具中的 UWP 支持

Visual Studio 生成工具可用于创建生成服务器,而无需安装 Visual Studio。 为响应客户要求,我们改善了 Visual Studio 生成工具以支持其他项目类型。 这些项目类型包括 UWP 工具,支持的项目有 ASP.NET、Azure、C++ 桌面、ClickOnce、容器、.NET Core、.NET 桌面、Node.js、Office 和 SharePoint、Python、TypeScript、单元测试、UWP、WCF 和 Xamarin。 希望在以后的发布中添加对 SQL 的支持。

适用于通用 Windows 平台开发人员的工具

  • 可视状态管理和动画工具可在 Blend 中与 XAML 设计器的最近更新中配合使用。 所有 UWP 开发人员都可访问这些工具。 此外,XAML“编辑并继续”支持编辑可视状态和动画。
  • Windows 机器学习自动代码生成支持允许通过将 ONNX 模型文件添加为项目中的现有项来生成 WinML 包装类。
  • Windows 10 的 2018 年 4 月更新 SDK(内部版本 17134)是 Visual Studio 中通用 Windows 平台开发工作负载的默认 SDK。
  • 可通过 C# 和新的可选代码包项目模板使用可选包中的代码执行创建相关集
  • 使用新的“包布局”项模板,可轻松构造平面包捆绑

APPX 包中的 AppInstaller 支持

通用 Windows 平台允许使用称为“旁加载”的机制分布应用程序,无需 Microsoft Store。 此版本允许生成应用安装文件,以从基于 APPX 的部署获取自动更新。 了解有关基础技术的详细信息。

NuGet

TypeScript 和 JavaScript

现在 Visual Studio 2017 15.7 版包含 TypeScript 2.8 RC。
此版本具有以下改进:

  • 支持 jsconfig.json,该文件有助于控制编辑器选项(类似于 tsconfig.json)。
  • 通过“关闭未打开文件的类型检查”减少资源使用的选项
    • 这是“工具”>“选项”>“文本编辑器”>“JavaScript/TypeScript”>“项目”下的仅报告对编辑器中打开文件的诊断
  • 同时适用于 TypeScript 和 JavaScript 用户的“新编辑功能”
    • 在文件中应用所有快速修复。
    • 组织导入。
    • JSX 中类和大括号内的 this. 完成项。
  • TypeScript 2.8 功能:
    • 条件类型(A extends B ? C : D)。
    • lib.d.ts 条件类型帮助程序,例如 NonNullableReturnTypeExtractExclude
    • 已映射类型中修饰符的精细控件。
    • 使用新的 // @jsx 杂注的文件内的 JSX 工厂的控件。

可在 TypeScript 2.8 RC 博客中了解 TypeScript 2.8 的详细信息。

  • TypeScript 2.7 功能:
    • 严格的属性初始化。
    • 数字分隔符。
    • 更智能的类型临界。

可在 TypeScript 2.7 博客中了解 TypeScript 2.7 的详细信息。

还修复了一些客户提出的重要问题,包括过早触发代码片段、无法取消的重构、难以禁用的格式设置和不正确的 TypeScript 版本选择。

注意

Typescript 2.8 支持所有这些改进功能。 为实现最佳体验,将现有项目更新为最新的 TypeScript 版本。

使用 Microsoft Edge 的 JavaScript 调试

使用 Windows 预览体验成员内部版本的 Visual Studio ASP.NET 和 .NET core 开发人员,可设置断点并使用 Microsoft Edge 浏览器调试 JavaScript 文件。 Visual Studio 将使用 Microsoft Edge 团队在面向 Edge 浏览器时开发的新的 Edge DevTools 协议。 开发人员可使用 Microsoft Edge 和 Google Chrome 浏览器在 Visual Studio 内调试和修复 JavaScript 问题。 我们很高兴可以实现这个客户强烈要求的功能。 欢迎提供有关此功能的反馈,以帮助我们改进并生成更好的 Visual Studio。

调试和诊断

该版本添加用于源链接的 VSTS 和 GitHub 身份验证支持。 如果可通过 IDE 使用,身份验证将自动添加到源链接请求。 如果用户还没有进行身份验证,则将显示登录 UI 以进行身份验证。

支持使用 IntelliTrace 的后退调试功能对 .NET Core 项目进行调试。

  • 要启用此功能,请转到“工具”>“选项”>“IntelliTrace 设置”,然后选择“IntelliTrace 事件和快照”选项
  • IntelliTrace 的后退调试功能支持在出现异常时获取快照。 要启用此功能,请转到“工具”>“选项”>“IntelliTrace 设置”,然后选择选项“IntelliTrace 事件和快照”(图 8)
Snapshot on exception
(图 8)异常情况下的快照

启动脚本调试程序并将其附加到 ASP.NET 项目的 Microsoft Edge

选择使用 Google Chrome 作为浏览器时,可以直接在 Visual Studio 中调试 JavaScript 和 TypeScript。 只需选择 Chrome 作为 Visual Studio 中的浏览器,并点击 F5 即可进行调试。 有关其他信息,请参阅 Google Chrome 中 ASP.NET 项目的客户端调试

Team Explorer

在“Git 设置”(位于团队资源管理器中的“全局设置”中)中,可在 OpenSSL 和安全通道之间进行选择。 默认为 OpenSSL。

用于 Service Fabric 6.2 版的 Service Fabric 工具

用于 Service Fabric 6.2 版的 Service Fabric 工具可为 6.2 运行时和 3.1 SDK 提供兼容性支持。 除了修复几个 bug 外,还有一项新功能可向现有的 ASP.NET 或控制台项目添加容器支持。 全新的“添加业务流程支持”上下文菜单和对话框同时支持 .NET Framework 和 .NET Core 2.0 项目。 向这些项目添加 Service Fabric 业务流程支持后,即可远程部署项目并使用本地 Service Fabric 群集进行调试。

实体框架工具改进

F# 和 F# 工具改进

我们对 F# 及其工具进行了诸多改进。 此次发布重点关注性能和通过 .NET SDK 样式项目清理现有体验。 与往常一样,我们也得到来自美好的 F# 社区的极大帮助。

F# 编译器和核心库改进
  • 可使用 .NET SDK 中的 F# 编译器从属性生成 F# 程序集信息。
  • --debug:full 支持 Windows 的 F# .NET Core 编译器。
  • MakeTuple 支持结构元组。
  • 使用元组的扩展方法时出现不必要警告的问题已解决。
  • MailboxProcessor.PostAndAsyncReply 可在取消父进程时正确处理取消操作。
  • 使用 NonStructuralComparison 时,float32 类型的等效类型现在是正确的。
  • 搜索方法重载时,现可通过 Matthias Dittrich 转发警告。
  • 对枚举进行模式匹配时的警告改进,可在枚举不匹配时发出示例,作者 John Wostenberg
F# 工具改进
  • 显著降低了 F# 编译器服务的内存使用,作者 Avi Avni 和 Microsoft。
  • 未使用的开启分析器在打开状态下的性能有显著提升。
  • 改进了 F# 分析器和代码修补程序在打开状态下的响应性,这样将始终优先处理错误诊断。
  • 添加了 F# 的 ASP.NET Core 模板。
  • .NET SDK 项目文件夹中的粘贴文件的初始顺序现在恰当地显示在文件已粘贴到的范围的顶部。
  • 按住“Alt+Enter”时,没有项目文件的 F# 脚本可正确将代码发送到 F# 交互
  • F# 列表的调试程序视图已从 50 项扩展到 5000 项。
  • 经典 F# 项目(仅 .NET 框架)也可执行设计时版本,这可减少解决方案加载时间。
  • 现在可在“设置”>“文本编辑器”>“F#”>“高级”下切换结构化参考线和大纲视图
  • F# 编译器服务现在返回程序集级别属性。
  • Entity.DeclaringEntity 已添加到 F# 编译器服务。
  • 可通过 F# 编译器服务 API 进行优化,作者 Steffen Forkmannncave
  • GetDeclarationLocation 不再需要文件提供其他正确数据的结果,作者 amieres
  • IsNameGenerated 现在可用于 F# 符号 API,作者 Eugene Auduchinok.
F# 基础结构改进
  • Mono 生成中不再需要 autoconf
  • 现在所有 Visual Studio 集成项目都使用 .NET SDK。
  • 可通过“帮助”>“关于 Microsoft Visual Studio”获取工具生成的提交哈希

若要查阅该发布中出现的完整提交记录,请参阅 15.7 版中的发布标记


---

Release Notes Icon Visual Studio 2017 版本 15.7 的安全公告通知

Visual Studio 2017 版本 15.7.6 安全公告通知 - 发布日期:2018 年 8 月 2 日

CVE-2018-8356 .NET Core 安全功能绕过漏洞

Microsoft 意识到 .NET Core 未正确验证证书时存在的安全功能让漏洞。 成功利用此漏洞的攻击者可能在质询时提供过期的证书。 该更新通过更正 .NET Core 处理验证的方式来解决此漏洞。

Visual Studio 2017 版本 15.7.5 安全公告通知 - 发布日期:2018 年 7 月 10 日

CVE-2018-8172 Visual Studio 远程代码执行漏洞

远程执行代码漏洞可打开特制项目或资源文件来利用用户的计算机。 此次安全更新通过更正 Visual Studio 检查文件源标记的方式来解决该漏洞。

CVE-2018-8260 .NET Framework 远程代码执行漏洞

.NET 软件中存在远程执行代码漏洞,攻击者可利用此漏洞在当前用户的上下文中运行任意代码,以此利用用户的计算机。 此次安全更新通过更正 .NET 检查文件源标记的方式来解决该漏洞。

CVE-2018-8232 .NET Microsoft 宏汇编程序篡改漏洞

与 Microsoft 宏汇编程序相关的篡改漏洞未正确验证代码。 此次安全更新通过确保 Microsoft 宏汇编程序正确验证代码逻辑来解决该漏洞。

CVE-2018-8171 ASP.NET Core 安全功能绕过漏洞

未验证错误登录尝试次数时存在 ASP.NET Core 安全功能绕过漏洞,这可能导致攻击者无限次尝试进行身份验证。 此次更新通过验证错误登录尝试次数来解决该漏洞。

Visual Studio 2017 版本 15.7.4 安全公告通知 - 发布日期:2018 年 6 月 18 日

CVE-2018-11235 针对 Git 安全漏洞的 Microsoft 安全公告

我们修复了 Git 中由 Git 社区披露的安全漏洞。 当用户克隆恶意存储库时,该漏洞可导致执行任意代码。

Visual Studio 2017 版本 15.7.1 安全公告通知 - 发布日期:2018 年 5 月 8 日

CVE-2018-0765 针对 .NET Core 拒绝服务漏洞的 Microsoft 安全公告

Microsoft 发布此安全公告的目的在于提供有关 .NET Core 和 .NET 本地版本 2.0 中的漏洞的信息。 此公告还可指导开发者更新其应用程序,以消除此漏洞。 Microsoft 了解到,.NET Framework 和 .NET Core 未正确处理 XML 文档时,会出现漏洞拒绝服务。 如果攻击者成功利用此漏洞,可能会导致对 .NET Framework、.NET Core 或 .NET 本地应用程序拒绝服务。 此次更新更正了 .NET Framework、.NET Core 和 .NET 本地应用程序对 XML 文档处理的操作方式,从而解决了此漏洞。 如果是 ASP.NET Core 应用程序,还建议开发人员更新到 ASP.NET Core 2.0.8。


Release Notes IconVisual Studio 2017 15.7.1 版

发布日期:2018 年 5 月 8 日

15.7.1 版中解决的首要问题

15.7.1 版中解决了客户报告的下列问题:

  • 此版本包含一个解决方案,可减少加载解决方案时使用的内存和 GC 压力。

Release Notes IconVisual Studio 2017 版本 15.7.2

发布日期:2018 年 5 月 21 日

15.7.2 版中解决的首要问题

15.7.2 版中解决了客户报告的下列问题:


Release Notes IconVisual Studio 2017 版本 15.7.3

发布日期:2018 年 5 月 31 日

15.7.3 版中解决的首要问题

15.7.3 版中解决了客户报告的下列问题:


Release Notes IconVisual Studio 2017 版本 15.7.4

发布日期:2018 年 6 月 18 日

15.7.4 版中解决的首要问题

15.7.4 版中解决了客户报告的下列问题:


Release Notes IconVisual Studio 2017 版本 15.7.5

发布时间:2018 年 7 月 10 日

15.7.5 版中解决的首要问题

15.7.5 版中解决了客户报告的下列问题:


Release Notes IconVisual Studio 2017 版本 15.7.6

发布日期:2018 年 8 月 2 日

15.7.6 版中的更新摘要

此版本包含以下改进和增强功能:

  • 此版本现已安装 Java™ 开发工具包 8 更新 181(JDK 版本 8u181)。

15.7.6 版中解决的首要问题

15.7.6 版中解决了客户报告的下列问题:


已知问题

我们一直坚持听取用户的反馈。 若要查找最新问题、记录新问题和投票赞成现有问题,请访问开发人员社区站点。 查看 Visual Studio 2017 版本 15.7 中全部现有已知问题和可用解决办法。

Visual Studio 2017 Known Issues


反馈和建议

我们期待你的宝贵意见和建议! 如有问题,请通过安装程序或 Visual Studio IDE 右上角的“报告问题”选项告知我们。 Report a Problem Icon图标位于右上角。 可以在 Visual Studio 开发者社区中提出产品建议或跟踪问题,也可在其中提问、寻找答案和建议新功能。 此外,还可通过实时聊天支持获得免费安装帮助。


Blogs

通过参考开发人员工具博客网站中的见解和建议,随时掌握所有新版本的最新最全资讯,并发表有关大量功能的深入分析帖子。

Developer Tools Blogs


Visual Studio 2017 发行说明历史记录

若要详细了解以往 Visual Studio 2017 版本的相关信息,请参阅 Visual Studio 2017 发行说明历史记录页。


返回页首