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

注释

Visual Studio 2017 支持的版本为版本 15.9。

重要

这不是 Visual Studio 的最新版本。 若要下载最新版本,请访问 https://visualstudio.microsoft.com/downloads/ 并查看 Visual Studio 2022 发行说明

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 中修复的所有客户报告的问题。

开发者社区门户


15.7 版中的新增功能的详细信息

发行说明图标 Visual Studio 2017 版本 15.7.0

发布日期:2018 年 5 月 7 日

15.7 中的新功能

Performance

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

安装 Visual Studio

  • 更新对话框提供有关更新的更多详细信息,例如新增功能、下载大小和最新更新版本。
  • 改进了保存体验: 在更新 Visual Studio 之前,所有挂起的更改将 首先 保存在本地 -- 开始更新之前。 更新对话框将显示“ 全部保存”和“更新 ”按钮,而不是 “立即更新”。
  • 通过将下载缓存、共享组件、某些 SDK 和工具移动到不同的驱动器( 图 1),我们减少了系统驱动器上的安装占用量。
安装位置
(图 1)选择安装位置

有三个可以管理的位置,这些位置只能在 首次安装时进行设置:

  • Visual Studio 核心产品: 此位置适用于特定于所选安装 Visual Studio 版本的文件。
  • 下载缓存: 安装文件和清单将下载到此位置。 如果决定不通过取消选中复选框来保留下载缓存,则安装完成后将删除文件。
  • 共享组件、工具和 SDK: 此位置适用于并行 Visual Studio 安装共享的文件。

注释

不会将具有不同规则的工具和 SDK 安装到此驱动器。 工具/SDK 特定规则优先。

注释

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

Visual Studio IDE

对话框窗口 (图 2) 指示哪些长时间运行的操作使 Visual Studio 保持繁忙状态,现在支持屏幕阅读器(例如 NVDA、讲述人等)。 Visual Studio 显示对话框时,屏幕阅读器播放一个音频提示,指示屏幕上显示新信息。 用户可以通过调用讲述人中的“更改视图”命令来读取对话框的内容或与“取消”按钮交互。

等待对话框
(图 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 “std::char_traits 的 constexpr”,这使得 std::string_view 在编译时更加实用。
  • 使用每个单元测试上面的 CodeLens 运行、调试和查看测试状态(图 3)。
在每个单元测试上方使用 CodeLens
(图 3)在每个单元测试上方使用 CodeLens
  • 我们更新了适用于C++的Visual Studio iOS开发工具,以便与 Xcode 9 兼容。
  • 我们在 cl.exe 中添加了 /analyze:ruleset 选项,用于根据规则集配置筛选 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 目标视图
(图 4)CMake 目标视图
  • 可以通过 CMake 菜单或在解决方案资源管理器中右键单击源文件(.cpp)来单独构建 CMake 项目的源文件。
  • 导致标记分析错误的未知宏现在带有绿色波浪线。 可以使用快速操作将宏自动添加到C++提示文件中以解决该问题。 可以通过单击“项目”菜单上的“ 显示标记分析器错误 ”列出解决方案或文件夹中的所有标记分析错误。
  • 将头文件添加到 CppProperties.json 的包含路径,并在“Open Folder”中执行快速操作。
  • Linux 和类似 Unix 的系统头文件现在会自动下载以供 Windows 上的 IntelliSense 使用。 它们还用于为 Linux 本机平台开发提供增强的 IntelliSense 体验。
  • 我们添加了五个新规则,这些规则强制实施中关于使用指南支持库的项目
  • 我们允许聚合类型中的公共基类,以便可以使用聚合初始化语法来初始化它们,而无需编写样本构造函数。 在大括号初始化列表中,首先初始化基类,然后是数据成员。
  • 将函数的 模板参数推导 扩展到模板类的构造函数;构造类模板时,不再需要指定参数。
  • 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++核心检查现在是用于本机代码分析的默认工具集的一部分。 每当通过项目执行代码分析时,除了默认建议的规则之外,还会从 C++ Core Check 启用一部分规则。
  • 我们添加了对 Linux 项目的并行编译支持,这可能会显著提高生成时间。 这可以通过 属性页 > C/C++ > 最大并行编译作业数启用。
  • 添加了“公共项目包含目录”的 Linux 项目属性,以改进 Linux 解决方案中项目间引用的包含文件的使用。
  • 我们添加了对 IDE 中C++开发人员的 ClangFormat 支持 。 与 EditorConfig 类似,可以使用 ClangFormat 在键入时自动设置代码的样式和格式,以便在整个开发团队中强制实施。

C# 编译器

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

Python

  • 可以通过右键单击项目并选择 Python > MyPy,对项目运行 MyPy。 MyPy 会根据类型提示检查代码,并且检测到的任何类型错误都将显示在错误列表中。
  • 可以使用 pip 或 Conda 创建和使用 Conda 环境以及管理 Conda 环境的包。
  • Anaconda 版本 5.1.0 现在可从 Visual Studio 安装程序获取,并在选择数据科学工作负载时默认安装。
  • 我们在基于常用开源 pydevd 调试器的 Python 调试器 ptvsd 4.0 版本中增加了一个用户选择加入的功能。 选择加入可以提升应用程序的调试性能,可以通过在中勾选“>”选项来启用。
  • 有关使用调试器、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 编辑体验
(图 5)Xamarin.Forms XAML 编辑体验
针对条件 XAML 的工具改进

XAML 编辑器提供 IntelliSense 功能,以便创作 条件 XAML。 使用应用的目标最小版本中不存在的类型时,XAML 编辑器现在不仅会发出警告,而且还提供了几个用于修复它的选项。

自动 iOS 预配

我们简化了 iOS 设备预配以简化开发(图 6)。 在 Visual Studio 2017 版本 15.7 中,有一种简化的体验,可以请求开发证书、生成签名密钥、在开发人员中心添加设备,以及创建预配配置文件,只需单击一下即可。 预配 iOS 设备的所有繁重工作都在不到 30 秒内为你处理。

iOS 和 Android 项目模板图像
(图 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 项目模板
(图 7)易于查找和设置 iOS 和 Android 项目模板
对安装的改进

Visual Studio 安装程序附带更新的 Android SDK 配置,包括 Android API 27 和 Android SDK 工具 26。 这包括对 快速启动的支持,使 Android 仿真器能够在不到五秒内启动。

此外,我们还将 Android 设备管理器 作为使用 .NET 工作负载进行移动开发的一部分,以便轻松创建、编辑和删除模拟器。

.NET 工作效率改进

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

Testing

  • Live Unit Testing 适用于嵌入的 pdbs 和指定 /deterministic 的 pdbs。
  • 我们为使用引用程序集的项目添加了 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 支持)提供了名为“Identity”的新基架,它将标识管理 UI 添加到 ASP.NET Core 2.1 应用程序。
  • ASP.NET 和 ASP.NET 核心项目可以通过配置“Key Vault”连接服务,在 IDE 中创建 Azure Key Vault 并将其与其 Web 应用程序相关联。
  • 当 ASP.NET 或 ASP.NET 核心应用程序依赖于 Azure Key Vault 时,如果应用无法在运行时从开发人员的计算机访问该 Key Vault(给定 “工具 > 选项 > Azure 服务身份验证”下选择的帐户)时,错误列表中会显示错误。 这缩短了发现和更正权限或帐户问题的时间,并避免在运行时出现应用程序故障。
  • 当 Web 应用使用所选 ASAL 用户帐户无权访问的 KeyVault 时,错误列表中会显示一条警告。

Visual Studio 2017 生成工具

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

Visual Studio 2017 生成工具支持大多数 Visual Studio 项目的命令行生成。 支持的项目包括:ASP.NET、Azure、C++桌面、ClickOnce、容器、.NET Core、.NET Desktop、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 Desktop、Node.js、Office 和 SharePoint、Python、TypeScript、单元测试、UWP、WCF 和 Xamarin。 我们希望在未来版本中添加对 SQL 的支持。

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

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

AppInstaller 在 APPX 包中的支持

通用 Windows 平台允许使用名为“旁加载”的机制,在没有Microsoft应用商店的情况下分发应用程序。 此版本允许生成 appinstaller 文件,以便从基于 APPX 的部署获取自动更新。 详细了解 基础技术

NuGet

TypeScript 和 JavaScript

TypeScript 2.8 RC 现在包含在 Visual Studio 2017 版本 15.7 中。
此版本带来了以下改进:

  • 支持jsconfig.json,一个可以帮助控制编辑器选项的文件,非常类似于
  • 通过 关闭未打开的文件的类型检查来减少资源使用率的选项。
    • 这是在下,关于在编辑器中打开的文件的唯一诊断报告选项。
  • TypeScript 和 JavaScript 用户的新编辑功能
    • 在文件中应用所有快速修复。
    • 组织导入。
    • this. 在 JSX 中类和大括号内的代码补全。
  • 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 调试

Visual Studio ASP.NET 和 Windows 预览体验成员版本中的 .NET Core 开发人员可以使用 Microsoft Edge 浏览器设置断点并调试其 JavaScript 文件。 面向 Microsoft Edge 浏览器时,Visual Studio 将使用 Microsoft 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)。
异常快照
(图 8)异常快照

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

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

团队资源管理器

Git 设置中,团队资源管理器中的 全局设置 可以选择 OpenSSL 和安全通道。 OpenSSL 是默认值。

适用于 6.2 Service Fabric 版本的 Service Fabric 工具

Service Fabric 6.2版本的工具为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# AssemblyInfo。
  • --debug:full 支持 Windows 上的 F# .NET Core 编译器。
  • 支持MakeTuple用于结构元组。
  • 现在解决了对元组使用扩展方法时 不必要的警告
  • MailboxProcessor.PostAndAsyncReply 在父进程被取消时正确地处理取消操作。
  • float32 类型的相等性在使用 NonStructuralComparison 时现在是正确的。
  • 蒂亚斯·迪特里希现在在搜索方法重载时转发警告。
  • John Wostenberg的改进中,针对在枚举上匹配模式时的警告,提供了一个不匹配枚举的示例。
F# 工具改进
  • Avi Avni 和 Microsoft 使 F# 编译器服务的内存使用量显著减少。
  • 未使用的开放分析器被激活时,其性能显著提高。
  • 当打开 F# 分析器和代码修复时,提高了响应能力,使错误诊断始终优先于其余部分。
  • 我们添加了适用于 F# 的 ASP.NET Core 模板。
  • .NET SDK 项目文件夹中粘贴的文件的初始顺序现在正确位于文件粘贴到的作用域的顶部。
  • 按下 Alt+Enter 时,没有项目文件的 F# 脚本正确地将代码发送到 F# Interactive。
  • F# 列表的调试器视图已从 50 个项目扩展到 5000 项。
  • 经典 F# 项目(仅限 .NET Framework)也执行设计时生成,从而减少解决方案加载时间。
  • 现在可以在“设置文本编辑器 > F# > 高级”>下切换结构化准则和大纲视图。
  • 程序集级别属性现在由 F# 编译器服务返回。
  • 我们将 Entity.DeclaringEntity 添加到了 F# 编译器服务。
  • 通过 F# 编译器服务 API、 Steffen Forkmannncave 提供优化。
  • GetDeclarationLocation 不再需要文件通过 amieres 提供其他正确数据的结果。
  • IsNameGenerated 现已在 F# 符号 API 中提供,由Eugene Auduchinok
F# 基础结构改进
  • autoconf 在 Mono 生成中不再需要。
  • 所有 Visual Studio 集成项目现在都使用 .NET SDK。
  • 工具版本的提交哈希在 Visual Studio Microsoft帮助>中提供。

若要查看此版本中的内容的完整提交日志,请查看 15.7 的发布标记


---

发行说明图标 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 核心安全功能绕过漏洞

如果未验证错误登录尝试次数,可能会导致攻击者尝试无限身份验证尝试,则存在 ASP.NET 核心安全功能绕过漏洞。 更新通过验证错误的登录尝试次数来解决漏洞。

Visual Studio 2017 版本 15.7.4 安全公告 -于 2018 年 6 月 18 日发布

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

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

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

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

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。


发行说明图标 Visual Studio 2017 版本 15.7.1

发布日期:2018 年 5 月 8 日

15.7.1 版中修复的首要问题

以下是 15.7.1 中解决的客户报告的问题:

  • 此版本包括一个修复程序,可降低解决方案负载期间的内存使用率和 GC 压力。

发行说明图标 Visual Studio 2017 版本 15.7.2

发布日期:2018 年 5 月 21 日

15.7.2 版中修复的首要问题

以下是 15.7.2 中解决的客户报告的问题:


发行说明图标 Visual Studio 2017 版本 15.7.3

发布日期:2018 年 5 月 31 日

15.7.3 版中修复的首要问题

以下是 15.7.3 中解决的客户报告的问题:


发行说明图标 Visual Studio 2017 版本 15.7.4

发布日期:2018 年 6 月 18 日

15.7.4 版中解决的首要问题

以下是 15.7.4 中解决的客户报告的问题:


发行说明图标 Visual Studio 2017 版本 15.7.5

发布日期:2018 年 7 月 10 日

15.7.5 版中修复的首要问题

以下是 15.7.5 中解决的客户报告的问题:


发行说明图标 Visual 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 已知问题


Visual Studio 2017 发行说明历史记录

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