通过


Dev15Logo Visual Studio 2017 版本 15.9 发行说明

重要

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

支持的时间范围

Visual Studio 2017 版本 15.9 是 Visual Studio 2017 的最终支持服务基线,并且已进入 扩展的支持期。 鼓励企业和专业客户在需要采用长期稳定且安全的开发环境时,将此版本作为标准化选择。 如我们的 生命周期和支持策略中所述,版本 15.9 将持续获得安全更新支持,直到 2027 年 4 月,这是 Visual Studio 2017 产品生命周期的剩余时间。

由于 Visual Studio 2017 现已得到扩展支持,因此所有 administrator 更新现在都涵盖产品的所有次要版本范围。 这意味着通过 Microsoft 更新目录或 Microsoft Endpoint Manager 安全更新>都将客户端更新到 Visual Studio 2017 产品的最新安全版本。

自 2021 年 8 月 21 日起,.NET Core 2.1 已退出支持

Visual Studio 2017 版本 15.9 发布

重要

Visual Studio 2017 版本 15.9 安全公告通知

Documentation

Visual Studio 2017 的官方 Learn 文档已存档。 搜索引擎无法访问存档文档,但仍可以在 Visual Studio 2017 文档(存档)浏览存档的文档。

Visual Studio 2017 版本 15.9.79

发布时间:2026 年 4 月 14 日

此版本中已解决的问题

已解决的安全公告

已处理的安全咨询 CVE 说明
SQLite 内存损坏漏洞 CVE-2025-6965 3.50.2 之前的 SQLite 版本中存在漏洞,其中聚合术语数可能超过可用列数。 这可能会导致内存损坏问题。
Visual Studio信息泄露漏洞 CVE-2026-32631 由于 NTLM 哈希泄漏到不受信任的服务器,MinGit 中存在信息泄露漏洞。

Visual Studio 2017 版本 15.9.78

发布时间:2025 年 11 月 11 日

此版本中已解决的问题

  • 将 git for Windows 单个组件更新为 v2.51.1.1

开发者社区


Visual Studio 2017 版本 15.9.77

发布时间:2025 年 10 月 14 日

此版本中已解决的问题

已解决的安全公告

  • CVE-2025-55240 Visual Studio远程代码执行漏洞 - Gulpfile 中的不受信任的搜索路径远程代码执行漏洞

Visual Studio 2017 版本 15.9.76

发布日期:2025 年 8 月 12 日

此版本中已解决的问题

已从 Visual Studio 2017 安装程序中删除以下Windows SDK 版本:

  • 10.0.10240.0
  • 10.0.10586.0
  • 10.0.14393.0
  • 10.0.15063.0
  • 10.0.16299.0
  • 10.0.17134.0
  • 10.0.17763.0

如果以前使用 Visual Studio 安装了其中一个版本的 SDK,则更新时会卸载它。 如果项目面向上述任一 SDK,可能会遇到生成错误,例如:找不到Windows SDK 版本 10.0.17763.0。在项目属性页中安装所需的 Windows SDK 版本或更改 SDK 版本,或者右键单击解决方案并选择“重定目标解决方案”.

若要解决此问题,我们建议将项目重定向到 10.0.19041.0,或者根据需要将早期支持的版本重新定目标。 有关受支持的 SDK 版本的完整列表,请访问: https://developer.microsoft.com/windows/downloads/sdk-archive/ 如果需要安装不受支持的 SDK 版本,可在此处找到它: https://developer.microsoft.com/windows/downloads/sdk-archive/index-legacy/


Visual Studio 2017 版本 15.9.75

发布时间:2025 年 7 月 8 日

此版本中已解决的问题

  • 更新了Visual Studio安装程序中的工作负载和组件,以包含 Windows SDK 的 10.0.19041.0 版本,而不是 10.0.17763.0 版本。

已解决的安全公告


Visual Studio 2017 版本 15.9.74

发布时间:2025 年 6 月 10 日

此版本中已解决的问题

  • 更新了 VS 安装程序,以包含 Windows SDK 版本 10.0.19041.0。

Visual Studio 2017 版本 15.9.73

发布时间:2025 年 5 月 13 日

此版本中已解决的问题

  • 修复了新式查询工作项 TFVC 签入策略中阻止检索项目名称的问题。
  • 修复了禁止的模式 TFVC 签入策略中的一个问题,该问题导致策略在创建后“遗忘”了模式。

已解决的安全公告

  • CVE-2025-32703 管理员在计算机上安装 VS 时,没有意识到可以访问 ETW 跟踪
  • CVE-2025-26646 .NET - 欺骗 - msbuild 的 DownloadFile 任务默认行为中的特权提升

Visual Studio 2017 版本 15.9.72

发布日期:2025 年 4 月 8 日

此版本中已解决的问题

  • 添加了对新式 TFVC 签入策略的支持,以及应用过时的 TFVC 签入策略时的指导和警告。

Visual Studio 2017 版本 15.9.71

发布时间:2025 年 3 月 11 日

此版本中已解决的问题

已解决的安全公告


Visual Studio 2017 版本 15.9.70

发布时间:2025年2月11日

此版本中已解决的问题

已解决的安全公告

  • CVE-2025-21206 Visual Studio 安装程序特权提升 - 不受控制的搜索路径元素允许未经授权的攻击者在本地提升特权。

Visual Studio 2017 版本 15.9.69

于 2025 年 1 月 14 日发布

此版本中已解决的问题

已解决的安全公告


Visual Studio 2017 版本 15.9.68

发布时间:2024 年 11 月 12 日

此版本中已解决的问题

  • 此更新包括与Visual Studio符合性相关的修补程序。

Visual Studio 2017 版本 15.9.67

发布时间:2024 年 10 月 8 日

此版本中已解决的问题

  • 更新了与Microsoft Store交互时使用的身份验证方法。

已解决的安全公告


Visual Studio 2017 版本 15.9.66

于 2024 年 9 月 10 日发布

此版本中已解决的问题

已解决的安全公告

CVE-2024-35272 SQL Server Native Client OLE DB 提供程序远程代码执行漏洞


Visual Studio 2017 版本 15.9.65

发布日期:2024 年 8 月 13 日

此版本中已解决的问题

  • 从此版本开始,Visual Studio安装程序将不再提供安装可选Xamarin工作簿组件。
  • 从此版本开始,Visual Studio安装程序将不再提供安装适用于 Android 组件的 Visual Studio Emulator。

已解决的安全公告

  • CVE-2024-29187(重新发布) - 基于 WiX 的安装程序在作为 SYSTEM 运行时容易受到二进制劫持

Visual Studio 2017 版本 15.9.64

于 2024 年 7 月 9 日发布

此版本中已解决的问题

  • AzCopy 版本 6.2 不再作为 Visual Studio Azure 工作负荷的一部分进行分发,因为它即将弃用。 可以从 Get started with AzCopy 下载 AzCopy 的最新支持版本。
  • 从此版本开始,Visual Studio安装程序将不再提供安装Windows 10移动模拟器。 如果仍想使用这些组件,可以从 Windows SDK 和模拟器存档页安装它们
  • 将 MinGit 更新至 v2.45.2.1,其中包含 GCM 2.5,此版本解决了之前 GCM 版本中的一个问题,该问题是在克隆后向 Git 报告错误,使克隆看起来像是失败了一样。

Visual Studio 2017 版本 15.9.63

于 2024 年 6 月 11 日发布

此版本中已解决的问题

已解决的安全公告

  • CVE-2024-30052 在调试包含具有合理扩展名的恶意文件的转储文件时出现远程代码执行漏洞
  • CVE-2024-29060 特权提升,其中受影响的Visual Studio安装正在运行
  • CVE-2024-29187 基于 WiX 的安装程序在以 SYSTEM 身份运行时容易受到二进制劫持

Visual Studio 2017 版本 15.9.62

发布日期:2024 年 5 月 14 日

此版本中已解决的问题

  • 此版本将 OpenSSL 更新到了 v3.2.1

已解决的安全公告

  • CVE-2024-32002 支持符号链接的不区分大小写的文件系统上的递归克隆容易受到远程代码执行的影响。
  • CVE-2024-32004 远程代码执行,同时克隆特殊制作的本地存储库

Visual Studio 2017 版本 15.9.61

发布日期:2024 年 4 月 9 日

此版本中已解决的问题

  • 通过此 bug 修复,客户端现在可以在布局中使用引导程序,并传入 --noWeb 参数以在客户端计算机上安装,并确保仅从布局下载安装程序和Visual Studio产品。 以前,在安装过程中,有时安装程序不会执行 -noWeb 参数,而是尝试从 Web 自行更新。

Visual Studio 2017 版本 15.9.60

于 2024 年 2 月 13 日发布到 Web,并于 2024 年 3 月 12 日发布到 Microsoft 更新

此版本中已解决的问题

  • Visual Studio 安装程序 UI 中的“删除不受支持的组件”功能现在将删除 15.9 中包含的不受支持的 .NET 运行时版本(.NET Core 1.1 和 2.1 受到影响)。

Visual Studio 2017 版本 15.9.59

发布日期:2024 年 1 月 9 日

此版本中已解决的问题

  • 将 MinGit 更新到 v2.43.0.1,其中包含 OpenSSL v3.1.4,并解决了在某些情况下导致网络操作非常缓慢的回归问题。

已解决的安全公告

  • CVE-2024-20656 VSStandardCollectorService150 服务中存在漏洞,其中本地攻击者可以在运行受影响的Microsoft Visual Studio安装的主机上提升特权。

Visual Studio 2017 版本 15.9.58

于 2023 年 10 月 10 日发布

此版本中已解决的问题

  • 为了提高Visual Studio安装程序 WMI 提供程序的可靠性,我们已将其移动到专用命名空间 root/cimv2/vs。这可以防止与其他共享相同、基础命名空间的 WMI 提供程序发生任何冲突,并防止Visual Studio安装程序 WMI 提供程序无法检测Visual Studio的情况。

Visual Studio 2017 版本 15.9.57

发布日期:2023 年 9 月 12 日

此版本中已解决的问题

已解决的安全公告

  • CVE-2023-36796此安全更新解决了 DiaSymReader.dll 中读取损坏的 PDB 文件时可能导致远程执行代码的漏洞。
  • CVE-2023-36794此安全更新解决了 DiaSymReader.dll 中读取损坏的 PDB 文件时可能导致远程执行代码的漏洞。
  • CVE-2023-36793此安全更新解决了 DiaSymReader.dll 中读取损坏的 PDB 文件时可能导致远程执行代码的漏洞。
  • CVE-2023-36792此安全更新解决了 DiaSymReader.dll 中读取损坏的 PDB 文件时可能导致远程执行代码的漏洞。

Visual Studio 2017 版本 15.9.56

发布日期:2023 年 8 月 8 日

此版本中已解决的问题

  • 解决了 VSWhere 的所有交换机不会返回处于不可启动状态的实例的问题。

已解决的安全公告


Visual Studio 2017 版本 15.9.55

发布日期:2023 年 6 月 13 日

此版本中已解决的问题

  • 在此更新中,为了解决 CVE-2023-27909、CVE-2023-27910 和 CVE-2023-27911 的问题,我们将删除 .fbx 和.dae支持。 这是作者不再支持的第三方 x86 组件。 受影响的用户应使用 fbx 编辑器

已解决的安全公告

Visual Studio 2017 版本 15.9.54

发布日期:2023 年 4 月 11 日

15.9.54 版中已修复的问题

  • 修复了 IIS Express 中更新遥测数据时可能导致崩溃的问题。

开发者社区

已解决的安全公告


Visual Studio 2017 版本 15.9.53

发布日期:2023 年 3 月 14 日

15.9.53 版本修复的问题

  • Git 2.39 已将 credential.helper 的值从“manager-core”重命名为“manager”。 有关详细信息,请参阅 https://aka.ms/gcm/rename
  • mingit 和 Git for Windows 包更新到 v2.39.2,解决了 CVE-2023-22490

已解决的安全公告


Visual Studio 2017 版本 15.9.52

发布日期:2023 年 2 月 14 日

在 15.9.52 版本中修复的问题

  • Windows 的 mingit 和 Git 软件包更新到 v2.39.1.1,解决了 CVE-2022-41903。

已解决的安全公告


Visual Studio 2017 版本 15.9.51

发布日期:2022 年 11 月 8 日

15.9.51 中已修复的问题

  • 管理员将能够从布局更新脱机客户端计算机上的 VS 安装程序,而无需更新 VS。

已解决的安全公告


Visual Studio 2017 版本 15.9.50

于 2022 年 8 月 9 日发布

修复于 15.9.50 版本中的问题

  • 将 Git for Windows 更新到 v2.37.1.1,以解决 CVE-2022-31012。

已解决的安全公告


Visual Studio 2017 版本 15.9.49

于 2022 年 6 月 14 日发布

已解决的安全公告


Visual Studio 2017 版本 15.9.48

于 2022 年 5 月 10 日发布

15.9.48 版中修复的问题

  • 更新了 Visual Studio 使用的 Git for Windows 版本,并将可安装的可选组件更新为 2.36.0.1。
  • 修复了 git 集成的问题,其中,如果拉取/同步已分离的分支,则输出窗口不会显示有关如何解决该问题的本地化提示。

已解决的安全公告

CVE-2022-29148 Visual Studio远程代码执行漏洞 Visual Studio在内存中不当处理对象时存在远程代码执行漏洞。 成功利用漏洞的攻击者可以在当前用户的上下文中运行任意代码。

CVE-2022-24513特权提升漏洞 当Microsoft Visual Studio更新程序服务错误分析本地配置数据时,可能存在潜在的特权提升漏洞。


Visual Studio 2017 版本 15.9.47

于 2022 年 4 月 19 日发布

在15.9.47版本中解决的问题

  • 修复了 15.9.46 中 vctip.exe 的回退问题。

Visual Studio 2017 版本 15.9.46

于 2022 年 4 月 12 日发布

15.9.46 版中修复的问题

已解决的安全公告

CVE-2022-24765特权提升漏洞 Git Windows 中存在潜在的特权提升漏洞,其中 Git 操作可以在 Git 目录的缓存时在存储库外部运行。 Windows Git 现已更新到版本 2.35.2.1。

CVE-2022-24767 DLL 劫持漏洞运行 SYSTEM 用户帐户下的卸载程序时,Windows Git 中存在潜在的 DLL 劫持漏洞。 Windows Git 现已更新到版本 2.35.2.1。

CVE-2022-24513特权提升漏洞 当Microsoft Visual Studio更新程序服务错误分析本地配置数据时,可能存在潜在的特权提升漏洞。


Visual Studio 2017 版本 15.9.45

发布日期:2022 年 3 月 8 日

修复于15.9.45版中的问题

已解决的安全公告

CVE-2021-3711 OpenSSL 缓冲区溢出漏洞在 OpenSSL 中存在潜在的缓冲区溢出漏洞,该库被 Git for Windows 使用。 git for Windows 现已更新到版本 2.35.1.2,解决了此问题。


Visual Studio 2017 版本 15.9.44

于 2022 年 2 月 8 日发布

在 15.9.44 版中修复的问题

已解决的安全公告

CVE-2022-21871 诊断中心标准收集器运行时权限提升漏洞 若诊断中心标准收集器错误处理数据操作,就存在权限提升漏洞。


新版本图标 15.9.43 Visual Studio 2017 版本 15.9.43

于 2022 年 1 月 11 日发布

15.9.43 版中修复的问题

  • 修复了Windows 终端用作默认终端时无法多次调试应用程序的问题。
  • 修复了阻止客户端更新更当前的引导程序的问题。 客户端使用 2022 年 1 月或更高版本的引导程序和安装程序后,使用后续引导程序的所有更新都应在整个产品生命周期内有效。

新版本图标 15.9.42 Visual Studio 2017 版本 15.9.42

发布时间:2021 年 12 月 14 日

15.9.42 版中修复的若干问题

  • 由于安全漏洞,已将 CPython 3.6.6 标记为不受支持。

New Release Icon 15.9.41 Visual Studio 2017 版本 15.9.41

于 2021 年 11 月 9 日发布

15.9.41 版中修复的问题

已解决的安全公告

CVE-2021-42319特权提升漏洞Visual Studio安装程序中包含的 WMI 提供程序中存在特权提升漏洞。

CVE-2021-42277 诊断中心标准收集器服务权限提升漏洞 当诊断中心标准收集器错误处理文件操作时,就存在权限提升漏洞。


New Release Icon 15.9.40 Visual Studio 2017 版本 15.9.40

于 2021 年 10 月 12 日发布

修复于 15.9.40 版本的问题

已解决的安全公告

CVE-2020-1971 OpenSSL 拒绝服务漏洞 Git 使用的 OpenSSL 库中存在潜在的拒绝服务漏洞。

CVE-2021-3449 OpenSSL 拒绝服务漏洞 Git 使用的 OpenSSL 库中存在潜在的拒绝服务漏洞。

CVE-2021-3450 OpenSSL 可能绕过 X509_V_FLAG_X509_STRICT 标志 OpenSSL 库中存在可能被绕过的标志问题,该库被 Git 使用。


新版本图标 15.9.39 Visual Studio 2017 版本 15.9.39

于 2021 年 9 月 14 日发布

15.9.39版中修复的问题

  • 在 Visual Studio 中使用 Tools ->“获取工具和功能”菜单项时,将发生错误,指出找不到Visual Studio安装程序。 此修补程序使Visual Studio能够正确找到安装程序位置。

已解决的安全公告

CVE-2021-26434 Visual Studio中由于权限分配不当导致的权限提升漏洞 在安装使用 C++ 的游戏开发并选择 Unreal Engine Installer 工作负载后,Visual Studio中存在权限分配漏洞。 在安装过程中,系统容易受到 LPE 攻击,它会创建一个目录,该目录具有所有用户的写入访问权限。

CVE-2021-36952 Visual Studio远程代码执行漏洞 当Visual Studio错误处理内存中的对象时,会存在远程代码执行漏洞。 成功利用漏洞的攻击者可以在当前用户的上下文中运行任意代码。


新版本图标 15.9.38 Visual Studio 2017 版本 15.9.38

发布日期:2021 年 8 月 10 日

在 15.9.38 版本中修复的问题

  • 修复了影响更新命令的命令行执行的问题。 如果第一次更新失败,那么之后再次发出更新命令现在会使更新从其停止的地方继续先前的操作。

已解决的安全公告

CVE-2021-26423 .NET核心拒绝服务漏洞

存在拒绝服务漏洞,其中提供 WebSocket 终结点的.NET(核心)服务器应用程序在尝试读取单个 WebSocket 帧时可能会陷入无休止的循环。

CVE-2021-34485 .NET核心信息泄露漏洞

在 Linux 和 macOS 上,当工具为收集故障转储和按需转储而创建的转储具有全局读取权限时,会存在信息泄露漏洞。

CVE-2021-34532 ASP.NET Core信息泄露漏洞

如果无法分析 JWT 令牌,则记录该令牌时存在信息泄漏漏洞。


新版本图标 15.9.37 Visual Studio 2017 版本 15.9.37

发布日期:2021 年 7 月 13 日

在15.9.37版本中解决的问题

  • 修复了在中国创建包含 Unity 游戏开发工作负载和 Unity 编辑器可选组件的脱机 Visual Studio 2017 安装包。

新版本图标 15.9.36 Visual Studio 2017 版本 15.9.36

于 2021 年 5 月 11 日发布

15.9.36 版中修复的问题

  • 修复了管理员创建用于部署更新的新布局Visual Studio时导致更新失败的问题。 由于布局已移动位置,客户端计算机更新将失败。

新版本图标 15.9.35 Visual Studio 2017 版本 15.9.35

于 2021 年 4 月 13 日发布

修复于 15.9.35 版本中的问题

已解决的安全公告

CVE-2021-27064 Visual Studio 安装程序特权提升漏洞

当 Visual Studio 安装程序以提升权限状态执行反馈客户端程序时,存在远程代码执行漏洞。

CVE-2021-28313 / CVE-2021-28321 / CVE-2021-28322 诊断中心标准收集器服务特权提升漏洞

当诊断中心标准收集器错误处理数据操作时,存在特权提升漏洞。


新版本图标 15.9.34 Visual Studio 2017 版本 15.9.34

发布时间:2021 年 3 月 9 日

15.9.34 版中已修复的问题

已解决的安全公告

CVE-2021-21300 Git for Visual Studio 远程代码执行漏洞

Visual Studio克隆恶意存储库时,存在远程代码执行漏洞。

CVE-2021-26701 .NET核心远程代码执行漏洞

由于文本编码的执行方式,.NET 5 和 .NET Core 中存在远程代码执行漏洞。


新版本图标 15.9.33 Visual Studio 2017 版本 15.9.33

于 2021 年 2 月 10 日发布

15.9.33 版修复的问题


新版本图标 15.9.32 Visual Studio 2017 版本 15.9.32

于 2021 年 2 月 9 日发布

15.9.32 版中修复的问题

已解决的安全公告

CVE-2021-1639 TypeScript 语言服务远程代码执行漏洞

当Visual Studio加载包含 JavaScript 或 TypeScript 代码文件的恶意存储库时,存在远程代码执行漏洞。

CVE-2021-1721 .NET核心拒绝服务漏洞

在 X509 证书链生成期间创建 HTTPS Web 请求时,存在拒绝服务漏洞。

CVE-2021-24112 .NET 5 和.NET核心远程代码执行漏洞

当在图形接口仍然引用图元文件的情况下处理这些文件时,存在远程代码执行漏洞。 此漏洞仅存在于在 MacOS 或 Linux 上运行的系统中。


新版本图标 15.9.31 Visual Studio 2017 版本 15.9.31

于 2021 年 1 月 12 日发布

15.9.31 版中修复的问题

已解决的安全公告

CVE-2021-1651 / CVE-2021-1680 诊断中心标准收集器特权提升漏洞

当诊断中心标准收集器错误处理数据操作时,存在特权提升漏洞。

CVE-2020-26870 Visual Studio Installer 远程代码执行漏洞

当Visual Studio安装程序尝试显示恶意 markdown 时,存在远程代码执行漏洞。


新版本图标 15.9.30 Visual Studio 2017 版本 15.9.30

发布时间:2020 年 12 月 8 日

15.9.30 版本中修复的问题

  • 修复了在编译调用采用 C++/CLI 泛型参数的函数时 C++ 编译器崩溃的问题。

已解决的安全公告

CVE-2020-17156 Visual Studio远程代码执行漏洞

Visual Studio克隆恶意存储库时,存在远程代码执行漏洞。


New Release Icon 15.9.29 Visual Studio 2017 版本 15.9.29

于 2020 年 11 月 20 日发布

15.9.29版中修复的问题

已解决的安全公告

CVE-2020-17100 Visual Studio篡改漏洞

Python tools for Visual Studio创建 python27 文件夹时,存在篡改漏洞。 成功利用此漏洞的攻击者可在提升的上下文中运行进程。


新版本图标 15.9.28 Visual Studio 2017 版本 15.9.28

于 2020 年 10 月 13 日发布

版本 15.9.28 中修复的问题

  • .NET Core SDK 2.1.519 已更新到 Visual Studio 2019。

新版本图标 15.9.27 Visual Studio 2017 版本 15.9.27

于 2020 年 9 月 8 日发布

修复于 15.9.27 版本中的问题

  • 在修复或升级期间,如果某版本在 VS 设置之外被删除,不再支持的 .NET Core 版本将不再重新安装。

已解决的安全公告

CVE-2020-1130 诊断中心标准数据收集器权限提升漏洞

如果诊断中心标准收集器对数据操作的处理不当,就会存在特权提升漏洞。 成功利用此漏洞的攻击者可在提升的上下文中运行进程。

CVE-2020-1133 诊断中心标准收集器特权提升漏洞

如果诊断中心标准收集器对文件操作的处理不当,就会存在特权提升漏洞。 成功利用此漏洞的攻击者可在提升的上下文中运行进程。

CVE-2020-16856 Visual Studio远程代码执行漏洞

当 Visual Studio 错误地处理内存中的对象时,会导致远程代码执行漏洞。 成功利用漏洞的攻击者可以在当前用户的上下文中运行任意代码。

CVE-2020-16874 Visual Studio远程代码执行漏洞

当 Visual Studio 错误地处理内存中的对象时,会导致远程代码执行漏洞。 成功利用漏洞的攻击者可以在当前用户的上下文中运行任意代码。

CVE-2020-1045 Microsoft ASP.NET Core安全功能绕过漏洞

Microsoft ASP.NET Core 对编码的 Cookie 名称的解析方式存在一个安全功能绕过漏洞。 ASP.NET Core Cookie 分析程序对整个 Cookie 字符串进行解码,这可能允许恶意攻击者设置名为%编码的第二个 Cookie。


New Release Icon 15.9.26 Visual Studio 2017 版本 15.9.26

于 2020 年 8 月 11 日发布

15.9.26 版中修复的问题

已解决的安全公告

CVE-2020-1597 ASP.NET Core拒绝服务漏洞

当 ASP.NET Core 不当处理 Web 请求时,存在拒绝服务漏洞。 成功利用此漏洞的攻击者可能会针对 ASP.NET Core Web 应用程序导致拒绝服务。 无需身份验证即可远程利用漏洞。


New Release Icon 15.9.25 Visual Studio 2017 版本 15.9.25

于 2020 年 7 月 14 日发布

15.9.25 版修复的问题

已解决的安全公告

CVE-2020-1393 诊断中心标准收集器服务特权提升漏洞

当Windows诊断中心标准收集器服务无法正确清理输入时,存在特权提升漏洞,从而导致不安全的库加载行为。

CVE-2020-1416 Visual Studio特权提升漏洞

加载软件依赖项时,Visual Studio存在特权提升漏洞。 成功利用此漏洞的本地攻击者可能会在当前用户的上下文中注入任意代码以运行。

CVE-2020-1147 .NET核心拒绝服务漏洞

远程未经身份验证的攻击者可以通过向 ASP.NET Core应用程序或分析特定类型 XML 的其他应用程序发出特制的请求来利用此漏洞。 安全更新通过限制允许在 XML 有效负载中存在的类型来解决漏洞。


New Release Icon 15.9.24 Visual Studio 2017 版本 15.9.24

于 2020 年 6 月 2 日发布

15.9.24 版中修复的问题

  • 修复了在 DLL 名称的后缀上使用大小写不同的伞式 LIB 时 C++ 链接器缺少导入的 bug。
  • 修复了 ARM64 C++ 编译器中的错误,其中在调用 setjmp 之后可能会还原错误的值。
  • 修复了 C++ 编译器中的一个 bug,确保正确处理内联变量的动态初始化。
  • 进行了更改,使企业 IT 管理员和部署工程师能够配置 Microsoft 更新客户端和 SCCM 等工具,以确定在 Microsoft 更新目录和 WSUS 上托管的 VS2017 更新的适用性。

已解决的安全公告

CVE-2020-1202 / CVE-2020-1203诊断中心标准采集器服务权限提升漏洞

当诊断中心标准收集器或Visual Studio标准收集器无法正确处理内存中的对象时,存在特权提升漏洞。

CVE-2020-1293 / CVE-2020-1278 / CVE-2020-1257 诊断中心标准收集器服务特权提升漏洞

如果诊断中心标准收集器服务对文件操作的处理不当,就会存在特权提升漏洞。

CVE-2020-1108 / CVE-2020-1108 / CVE-2020-1108 .NET Core 拒绝服务漏洞

为了全面解决 CVE-2020-1108 问题,Microsoft发布了 .NET Core 2.1 和 .NET Core 3.1 的更新。 使用这些版本的 .NET Core 的客户应安装最新版本的 .NET Core。 请参阅发布说明以获取最新的版本号以及更新 .NET Core 的说明。


新版本图标 15.9.23 Visual Studio 2017 版本 15.9.23

发布日期:2020 年 5 月 12 日

已修复的问题(15.9.23 版)

  • 修复了 C++ 编译器中的一个 bug,确保正确处理内联变量的动态初始化。 从 VS 2019 16.0 版本移植。
  • vctip.exe中的安全性改进。
  • 更改使企业 IT 管理员和部署工程师能够配置 Microsoft 更新客户端和 SCCM,以确定托管在 Microsoft 更新目录和 WSUS 上的 VS2017 更新的适用性。

已解决的安全公告

CVE-2020-1108 .NET核心拒绝服务漏洞

远程未经身份验证的攻击者可以通过向 .NET Core 应用程序发出特制的请求来利用此漏洞。 安全更新通过更正 .NET Core Web 应用程序处理 Web 请求的方式来解决漏洞。


New Release Icon 15.9.22 Visual Studio 2017 版本 15.9.22

于 2020 年 4 月 14 日发布

在15.9.22版本中修复的问题

已解决的安全公告

CVE-2020-0899 Microsoft Visual Studio特权提升漏洞

当 Microsoft Visual Studio 更新程序服务处理文件权限不当时,会导致特权提升漏洞。 成功利用此漏洞的攻击者可以在本地系统的安全上下文中篡改任意文件的内容。

CVE-2020-0900 Visual Studio 扩展安装程序服务特权提升漏洞

当Visual Studio扩展安装程序服务处理文件操作不当时,存在特权提升漏洞。 成功利用了此漏洞的攻击者可使用已提升的权限删除任意位置的文件。

CVE-2020-5260 Git for Visual Studio 凭据泄露漏洞,由于 URL 验证不足

当专门创建的 URL 被分析并发送至凭据帮助程序时,会出现凭据泄露漏洞。 这可能会导致凭据被发送到错误的主机。


新版本图标 15.9.21 Visual Studio 2017 版本 15.9.21

于 2020 年 3 月 10 日发布

15.9.21 版已修复的问题

已解决的安全公告

CVE-2020-0793 / CVE-2020-0810 诊断中心标准收集器服务特权提升漏洞

如果诊断中心标准收集器处理文件操作不当,或者 Windows诊断中心标准收集器服务无法正确清理输入,则存在特权提升漏洞。

CVE-2020-0884 在创建 Outlook 网络加载项时的欺骗漏洞

如果启用了多重身份验证,则创建Outlook Web-Addin时存在欺骗漏洞

新版本图标 15.9.20 Visual Studio 2017 版本 15.9.20

于 2020 年 2 月 11 日发布

15.9.20 版本中修复的问题


新版本图标 15.9.19 Visual Studio 2017 版本 15.9.19

于 2020 年 1 月 14 日发布

15.9.19版中修复的问题

  • 解决了C++ 优化器中的一个问题:写入到调用中的未知内存对调用方的影响不正确。

已解决的安全公告

CVE-2020-0602 ASP.NET Core拒绝服务漏洞

远程未经身份验证的攻击者可以通过向 ASP.NET Core应用程序发出专门设计的请求来利用此漏洞。 安全更新通过更正 ASP.NET Core Web 应用程序处理 Web 请求的方式来解决漏洞。

CVE-2020-0603 ASP.NET Core远程代码执行漏洞

远程未经身份验证的攻击者可以通过向 ASP.NET Core应用程序发出专门设计的请求来利用此漏洞。 安全更新通过更正 ASP.NET Core Web 应用程序在内存中处理的方式来解决漏洞。


新版本图标 15.9.18 Visual Studio 2017 版本 15.9.18

发布时间:2019 年 12 月 10 日

15.9.18版中修复的问题

  • 可以缓解Visual Studio中与 Per-Monitor 意识相关的崩溃

已解决的安全公告

CVE-2019-1349 由于对子模块名称的限制过于宽松,Visual Studio 的 Git 存在远程执行漏洞

当 Git 遇到同级子模块目录子模块名称冲突时,存在远程代码执行漏洞。 成功利用此漏洞的攻击者可以在目标计算机上远程执行代码。 安全更新通过采用适用于 Windows 的新版本 Git 来解决漏洞,该版本要求子模块克隆的目录必须为空。

CVE-2019-1350 Git for Visual Studio 远程执行漏洞,因为命令行参数引用不正确

Git 使用递归克隆过程中的特定引用以及 SSH URL 解释命令行参数时,存在远程代码漏洞。 成功利用此漏洞的攻击者可以在目标计算机上远程执行代码。 安全更新通过采用新版本的 Git for Windows 来解决漏洞,从而修复了此问题。

CVE-2019-1351 Git for Visual Studio 中存在任意文件覆盖漏洞,因为在克隆期间使用了非字母驱动器名称

当非字母开头的驱动器名称绕过 git clone中的安全检查时,Git 中存在任意文件覆盖漏洞。 成功利用此漏洞的攻击者可以写入目标计算机上的任意文件。 安全更新通过采用新版本的 Git for Windows 来解决漏洞,从而修复了此问题。

CVE-2019-1352 由于对NTFS备用数据流缺乏了解导致的Git for Visual Studio远程执行漏洞

通过 NTFS 备用数据流克隆和写入 .git/ 目录时,Git 中存在远程代码执行漏洞。 成功利用此漏洞的攻击者可以在目标计算机上远程执行代码。 安全更新解决了一个漏洞,方法是使用了包含对 NTFS 备用数据流的支持的最新版 Windows Git。

CVE-2019-1354 Git for Visual Studio 任意文件覆盖漏洞,由于没有拒绝将包含反斜杠的已跟踪文件写出

带有反斜杠和恶意符号链接的树条目突破工作树时,Git 中存在任意文件覆盖漏洞。 成功利用此漏洞的攻击者可以写入目标计算机上的任意文件。 安全更新通过采用新的用于 Windows 的 Git 版本来解决漏洞,该版本不允许使用此反斜杠。

CVE-2019-1387 Git for Visual Studio 因递归克隆操作中子模块名称验证不足导致的远程执行漏洞

当对子模块进行递归克隆时,Git 中存在远程代码执行漏洞。 成功利用此漏洞的攻击者可以在目标计算机上远程执行代码。 安全更新通过采用新的 Git for Windows 版本来解决漏洞,从而加强对子模块名称的验证。


新版本图标 15.9.17 Visual Studio 2017 版本 15.9.17

于 2019 年 10 月 15 日发布

已解决的安全公告

CVE-2019-1425 NPM 包特权提升漏洞(发布时间:2019 年 11 月 12 日)

提取存档文件时,Visual Studio无法正确验证硬链接时,存在特权提升漏洞。 Visual Studio使用的 NPM 包引入了漏洞,如以下两个 NPM 公告中所述:npmjs.com/advisories/803npmjs.com/advisories/886。 此版本的 Visual Studio 中包含这些 NPM 包的更新版本。


新版本图标 15.9.16 Visual Studio 2017 版本 15.9.16

于 2019 年 9 月 10 日发布

15.9.16 版中已修复的问题

已解决的安全公告

CVE-2019-1232 诊断中心标准收集器服务特权提升漏洞

当诊断中心标准收集器服务错误地模拟特定文件操作时,会出现权限提升漏洞。 成功利用此漏洞的攻击者可能会获得提升的权限。 对易受攻击的系统拥有非特权访问权限的攻击者可利用此漏洞。 安全更新通过确保诊断中心标准收集器服务正确模拟文件操作来解决漏洞。

CVE-2019-1301 .NET Core 中拒绝服务漏洞

当 .NET Core 处理 Web 请求时,存在拒绝服务漏洞。 成功利用此漏洞的攻击者可能会针对 .NET Core Web 应用程序导致拒绝服务。 无需身份验证即可远程利用漏洞。

更新通过更正 .NET Core Web 应用程序处理 Web 请求的方式来解决漏洞。


New Release Icon 15.9.15 Visual Studio 2017 版本 15.9.15

于 2019 年 8 月 13 日发布

15.9.15 版中已修复的问题事项

已解决的安全公告

CVE-2019-1211 Visual Studio中的Git特权提升漏洞

Git for Visual Studio 中存在一个权限提升漏洞,当它错误地解析配置文件时会出现这种漏洞。 成功利用漏洞的攻击者可以在另一个本地用户的上下文中执行代码。 若要利用漏洞,经过身份验证的攻击者需要在完全安装应用程序之前修改系统上的 Git 配置文件。 然后,攻击者需要说服系统上的其他用户执行特定的 Git 命令。 更新通过更改编辑配置文件所需的权限来解决该问题。


新版本图标 15.9.14 Visual Studio 2017 版本 15.9.14

发布日期:2019 年 7 月 9 日

15.9.14 版中修复的问题

已解决的安全公告

CVE-2019-1075 ASP.NET Core欺骗漏洞

.NET核心更新现已发布,并包含在此Visual Studio更新中。 此版本解决了安全性和其他重要问题。 有关详细信息,请参阅 .NET Core 发行说明

CVE-2019-1077 Visual Studio扩展自动更新漏洞

当Visual Studio扩展自动更新过程不正确地执行某些文件操作时,存在特权提升漏洞。 成功利用此漏洞的攻击者可以删除任意位置的文件。 若要利用此漏洞,攻击者需要对易受攻击的系统进行无特权访问。 安全更新通过保护Visual Studio扩展自动更新在其中执行文件操作的位置来解决漏洞。

CVE-2019-1113 WorkflowDesigner XOML 反序列化允许代码执行

引用某些类型的 XOML 文件可能会导致在Visual Studio中打开 XOML 文件时执行随机代码。 现在,允许在 XOML 文件中使用哪些类型存在限制。 如果打开包含其中一个新未授权类型的 XOML 文件,则会显示一条消息,说明该类型是未经授权的。

有关详细信息,请参阅 https://support.microsoft.com/help/4512190/remote-code-execution-vulnerability-if-types-are-specified-in-xoml


新版本图标 15.9.13 Visual Studio 2017 版本 15.9.13

发布日期:2019 年 6 月 11 日

15.9.13 版本中修复的已知问题


新版本图标 15.9.12 Visual Studio 2017 版本 15.9.12

于 2019 年 5 月 14 日发布

已修复的问题在15.9.12版中

已解决的安全公告

CVE-2019-0727 诊断中心标准收集器服务特权提升漏洞

当诊断中心标准收集器服务不正确地执行某些文件操作时,存在特权提升漏洞。 成功利用此漏洞的攻击者可以删除任意位置的文件。 若要利用此漏洞,攻击者需要对易受攻击的系统进行无特权访问。 安全更新通过保护诊断中心标准收集器执行文件操作的位置来解决漏洞。


新版本图标 15.9.11 Visual Studio 2017 版本 15.9.11

于 2019 年 4 月 2 日发布

15.9.11 版本中已解决的问题

  • 访问权限错误 C++ /CLI 15.9.5 ISO C++ 最新草案标准,自 15.9.5 以来。
  • PGO Code Gen Bug - 访问内存 OOB 的矢量化指令。
  • 编辑 package.json 时,Visual Studio 完全冻结。
  • 加载此属性页时出错 (CSS & JSON)。
  • 单击 Azure 活动日志中的 Web 应用 URL 现在已成功发布云服务项目。
  • 现在,即使未登录到包含函数应用的帐户,也可以发布到 Function App。
  • 我们在 HTML 编辑器中修复了未经处理的异常。
  • 我们更新了基架包,以安装适用于 .NET Core 2.1 的 Microsoft.VisualStudio.Web.CodeGeneration.Design 包版本 2.1.9,以及适用于 .NET Core 2.2 的版本 2.2.3。
  • 我们已实施 C++ 编译器修复程序,以增强在 Release 模式下使用 setjmp/longjmp 的代码的异常处理支持。
  • 我们已实现了关于 PDB 中信息的 C++ 链接器修复程序,其中,当指定选项 /PDBSTRIPPED 时,如果 PDBCopy.exe 或 link.exe 生成提取 PDB 文件,错误的模块信息可能导致堆损坏。
  • 我们更正了 ARM64 Visual C++ Redistributable 安装程序的双重签名。

New Release Icon 15.9.10 Visual Studio 2017 版本 15.9.10

发布时间:2019 年 3 月 25 日

15.9.10 版中修复的问题

  • 修复了 [配置 Web 代理时使用 Docker 进行调试的问题。](https://github.com/Microsoft/DockerTools/issues/600
  • 在使用 Docker 进行调试时,您将体验到改进的错误处理,针对与驱动器共享配置相关的失败(例如过期的凭据)。

New Release Icon 15.9.9 Visual Studio 2017 版本 15.9.9

于 2019 年 3 月 12 日发布

15.9.9 版中修复的问题

  • 修复了[当订阅所有者名称中包含撇号 (https://developercommunity.visualstudio.com/content/problem/133475/unable-to-deploy-to-azure-resource-group.html). 时部署资源组项目出现的问题
  • SSDT:修复了 SIS Foreach 循环容器中的崩溃问题
  • .NET native 工具 2.2 中修复了几个有关 UWP 客户的 .NET native 问题。
  • 我们更正了 Visual C++ Redistributable 安装程序的双重签名。

已解决的安全公告

CVE-2019-9197 Unity 编辑器远程代码执行漏洞

Unity编辑器中存在一个远程代码执行漏洞,它是Visual Studio提供的第三方软件,可以作为 游戏开发与Unity工作负载的一部分进行安装。 如果已从 Visual Studio 安装 Unity,请确保将所使用的 Unity 版本更新为解决 CVE 中所述漏洞的版本。 Visual Studio安装程序已更新,以提供安装解决漏洞的 Unity 编辑器版本。

CVE-2019-0809 Visual Studio远程代码执行漏洞

当Visual Studio C++ 可再发行组件安装程序在加载动态链接库 (DLL) 文件之前错误地验证输入时,存在远程代码执行漏洞。 成功利用漏洞的攻击者可以在当前用户的上下文中执行任意代码。 与拥有管理员权限的用户相比,系统中那些帐户具有较少用户权限的用户受到的影响会更小。 要利用该漏洞,攻击者必须在本地系统上放置一个恶意 DLL 并说服用户执行特定可执行文件。 安全更新通过更正 Visual Studio C++ 可再发行组件安装程序在加载 DLL 文件之前验证输入的方式来解决漏洞。

CVE-2019-0757 .NET Core NuGet 篡改漏洞

在 Linux 或 Mac 环境中执行时,NuGet 软件中存在篡改漏洞。 成功利用漏洞的攻击者可以在当前用户的上下文中运行任意代码。 如果当前用户使用管理用户权限登录,攻击者可以控制受影响的系统。 然后,攻击者可以安装程序;查看、更改或删除数据;或创建具有完全用户权限的新帐户。 与拥有管理员权限的用户相比,系统中那些帐户具有较少用户权限的用户受到的影响会更小。 要利用此漏洞,攻击者必须能够以该计算机上任意其他用户的身份登录。 此时,攻击者将能够替换或添加到当前用户帐户中由 NuGet 还原操作创建的文件。

.NET核心更新现已发布,并包含在此Visual Studio更新中。 该安全更新处理了该项漏洞,它更正了 NuGet 还原为提取到客户端计算机上的所有文件创建文件权限的方式。 有关包的详细信息,请参阅 .NET Core 发行说明


新版本图标 15.9.8 Visual Studio 2017 版本 15.9.8

于 2019 年 3 月 5 日发布

15.9.8 版中修复的问题


新版本图标 15.9.7 Visual Studio 2017 版本 15.9.7

于 2019 年 2 月 12 日发布

15.9.7 版中修复的问题

已解决的安全公告

CVE-2019-0613 WorkflowDesigner XOML 反序列化允许代码执行

引用某些类型的 XOML 文件可能会导致在Visual Studio中打开 XOML 文件时执行随机代码。 现在,允许在 XOML 文件中使用哪些类型存在限制。 如果打开包含其中一个新未授权类型的 XOML 文件,则会显示一条消息,说明该类型是未经授权的。

有关详细信息,请参阅 XOML 漏洞文档

CVE-2019-0657 .NET 框架和Visual Studio欺骗漏洞

.NET核心更新现已发布,并包含在此Visual Studio更新中。 此版本解决了安全性和其他重要问题。 有关详细信息,请参阅 .NET Core 发行说明


新版本图标 15.9.6 Visual Studio 2017 版本 15.9.6

于 2019 年 1 月 24 日发布

15.9.6 版中修复的问题


 新版本图标 15.9.5 Visual Studio 2017 版本 15.9.5

发布日期:2019 年 1 月 8 日

15.9.5 版中修复的问题

已解决的安全公告

CVE-2019-0546 Visual Studio远程代码执行漏洞 当C++编译器不当处理特定组合的C++构造时,Visual Studio中存在远程代码执行漏洞。 成功利用漏洞的攻击者可以在当前用户的上下文中运行任意代码。 如果当前用户使用管理用户权限登录,攻击者可以控制受影响的系统。 然后,攻击者可以安装程序;查看、更改或删除数据;或创建具有完全用户权限的新帐户。 与拥有管理员权限的用户相比,系统中那些帐户具有较少用户权限的用户受到的影响会更小。 安全更新通过更正 Visual Studio C++ 编译器处理某些 C++ 构造的方式来解决漏洞。


新版本图标 15.9.4 Visual Studio 2017 版本 15.9.4

于 2018 年 12 月 11 日发布

15.9.4 版中修复的问题

已解决的安全公告

CVE-2018-8599 诊断中心标准采集器服务权限提升漏洞

如果诊断中心标准收集器服务不正确地处理特定文件操作,就会存在特权提升漏洞。 成功利用此漏洞的攻击者可能会获得提升的权限。 若要利用此漏洞,攻击者需要对易受攻击的系统进行无特权访问。 安全更新通过确保诊断中心标准收集器服务正确模拟文件操作来解决漏洞。


新版本图标 15.9.3 Visual Studio 2017 版本 15.9.3

于 2018 年 11 月 28 日发布

在 15.9.3 版本中修复的问题


新版本图标 15.9.2 Visual Studio 2017 版本 15.9.2

于 2018 年 11 月 19 日发布

15.9.2 版中修复的问题


新版本图标 15.9.1 Visual Studio 2017 版本 15.9.1

发布日期:2018 年 11 月 15 日

15.9.1 版中修复的问题

  • 修复了Visual Studio无法使用Microsoft Xbox One XDK生成项目的 bug。

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

通用 Windows 平台 开发 SDK

Windows 10 2018 年 10 月更新 SDK(内部版本 17763)现在是通用 Windows 平台开发工作负载的默认所选 SDK。


15.9 版中的主要新增功能摘要

15.9 版中解决的首要问题

请参阅 Visual Studio 2017 版本 15.9 中修复的所有客户报告的问题。

开发者社区门户 开发者社区门户


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

新版本图标 15.9.0 Visual Studio 2017 版本 15.9.0

发布日期:2018 年 11 月 13 日

15.9 版中的新增功能

Install

我们使得在多个 Visual Studio 安装中保持安装设置的一致性更容易。 现在可以使用 Visual Studio Installer 导出给定Visual Studio实例的 .vsconfig 文件。 此文件将包含有关已安装的工作负载和组件的信息。 然后,可以导入此文件,以将这些工作负载和组件选择添加到Visual Studio的另一个安装。

调试

我们增加了对使用基于可移植PDB的新符号包格式(.snupkg)的支持。 添加了工具,使你可从 NuGet.org 符号服务器等源轻松使用和管理符号包

C++

  • 我们在 Visual Studio Enterprise Edition 的 C++ 调试器中添加了 “退步”功能。 回溯功能使你能够回溯到过去,以查看之前的应用状态。
  • C++ IntelliSense 现在响应面向 Linux 的 CMake 和 MSBuild 项目的远程环境中的更改。 安装新的库或更改 CMake 项目时,C++ IntelliSense 将自动分析远程计算机上的新头文件,以实现完整无缝的 C++ 编辑体验。
  • 我们更新了 UWP 桌面桥框架包,以匹配所有受支持的体系结构(包括 ARM64)Windows应用商店中的最新版本。
  • 除了修复 60 个阻塞性错误之外,我们还为 MSVC 15.9 编译器添加了对 range-v3 库的支持,该支持在 /std:c++17 /permissive- 下可用。
  • Visual Studio中的零售 VCLibs 框架包已更新,以匹配 UWP 应用商店中的最新可用版本。
  • 现已完全支持 ARM64 C++ 本机桌面方案(包括 VC++ 2017 可再发行版)。
  • 我们在 C++ 17 的 charconv 标头中实现了浮点 to_chars() 的最短往返程十进制重载。 使用科学记数法,约是 sprintf_s() "%.8e" 的 10 倍快(对于单精度浮点),是 sprintf_s() "%.16e" 的 30 倍快(对于双精度浮点)。 本方法使用了Ulf Adams的新算法Ryu。
  • 对 Visual C++ 编译器的标准符合性进行了一系列改进,标准符合性可能要求在严格符合性模式下进行源更改,可在此处找到这一系列改进。
  • 我们已弃用 C++ 编译器 /Gm 交换机。 如果已显式定义,请考虑在生成脚本中禁用 /Gm 交换机。 或者,也可以安全地忽略针对 /Gm 的弃用警告,因为在使用“将警告视为错误”(/WX) 时不会将其视为错误。

F#

F# 编译器

  • 我们修复了一个错误,其中采用 byref 值的扩展方法可能更改不可变值。
  • 我们改进了 byref/inref/outref重载的编译错误信息,而不是像以前那样显示不清晰的错误。
  • 现已完全不允许使用 byref 上的可选类型扩展。 它们以前可以声明,但不可用,从而导致令人困惑的用户体验。
  • 修复了在结构元组上使用 CompareTo 并产生使用别名的结构元组的类型等效项而造成运行时异常的 bug。
  • 修复了在为 .NET Standard 编写类型提供程序时使用 System.Void 可能导致在设计时无法找到 System.Void 类型的 bug。
  • 我们修复了一个 bug:在部分应用的区分联合构造函数与区分联合的注解或推断类型不匹配时,可能会发生内部错误。
  • 我们在尝试获取表达式的地址(如访问属性)时修改了编译器错误消息,使其更清楚地表明它违反了 byref 类型的范围规则。
  • 修复了在对方法或函数部分应用 byref 类型时,程序可能在运行时崩溃的错误。 此时会显示一条错误消息。
  • 修复了 byref 和引用类型(例如 byref<int> option)的无效组合会在运行时失败且不发出错误消息的问题。 现在可发出错误消息。

F# 工具

  • 我们解决了使用 .NET Core SDK 生成的 F# 程序集的元数据未显示在Windows上的文件属性中的问题。 现在,可以通过右键单击Windows上的程序集并选择 Properties 来查看此元数据。
  • 修复了在 F# 源中使用 module global可能会导致Visual Studio无响应的 bug。
  • 我们修复了一个漏洞,该漏洞导致使用 inref<'T> 的扩展方法不会显示在完成列表中。
  • 修复了.NET Framework F# 项目的 Project Properties 中的 TargetFramework 下拉列表为空的 bug。
  • 我们修复了一个错误,该错误导致创建面向 .NET Framework 4.0 的新 F# 项目时会失败。

F# 开源存储库

VisualFSharpFull 项目现在设置为默认启动项目,无需在调试之前手动设置该项目。 谢谢,罗伯特·杰佩森

JavaScript 和 TypeScript 语言服务支持

  • 我们添加了重构功能,以便在文件重命名后修正对该文件的引用。 我们还添加了对项目引用的支持,使你能够将你的 TypeScript 项目拆分为相互引用的独立版本。
  • 我们已更新到最新的 Vue CLI 3.0 并改进了 Vue.js 模板文件中的 linting。 你也可以使用 Jest 框架来编写和运行单元测试。
  • 添加了对 TypeScript 3.1 的支持。

SharePoint 2019 支持

我们添加了新的模板,可用于为 SharePoint 2019 创建项目。 你将能够将现有SharePoint项目从 SharePoint 2013 和 SharePoint 2016 迁移到新项目模板。

适用于Xamarin的 Visual Studio 工具

Visual Studio tools for Xamarin 现在支持 Xcode 10,这使你可以为 iOS 12、tvOS 12 和 watchOS 5 生成和调试应用。 有关可用新功能的更多详细信息,请参阅使用 iOS 12 的准备工作我们对 iOS 12 的介绍

初始 Xamarin Android 构建性能改进

Xamarin.Android 9.1 包括初步构建性能改进。 请参阅我们的 Xamarin.Android 15.8 与 15.9 版本构建性能比较,以获取更多详细信息。

面向通用 Windows 平台开发人员的工具

  • 最新的Windows 10 SDK(内部版本 17763)作为可选组件包含在通用 Windows 平台开发工作负荷中。
  • 我们添加了对创建 MSIX 包的支持,既适用于通用 Windows 平台项目,也适用于 Windows 应用程序打包项目模板。 创建一个 。MSIX 包,应用程序的最低版本必须是最新的Windows 10 SDK(内部版本 17763)。
  • 你现在可以构建 ARM64 UWP 应用程序。 对于 .NET UWP 应用程序,ARM64 仅支持 .NET Native,必须将应用程序的最低版本设置为 Fall Creators Update(内部版本 16299)或更高版本。
  • 我们对 通用 Windows 平台 应用程序的 F5(生成 + 部署)速度进行了改进。 对于使用 Windows 身份验证到远程目标的部署,这种影响最为明显,但也会影响所有其他部署。
  • 开发人员现在可以选择在生成面向 Windows 10 Fall Creators Update(内部版本 16299)或更高版本的 UWP 应用程序时使用 XAML 设计器时指定 Control 显示选项。 选择“仅显示平台控件”可阻止设计器执行任何自定义控制代码,以提升设计器的可靠性。
  • XAML 设计器现在会自动将触发可捕获异常的控件替换为备选控件,而不是导致设计器崩溃。 回退控件带有黄色边框,提示开发人员,该控件在设计时已被替代。
  • Windows应用程序打包项目现在支持使用 Core CLR 调试器类型调试后台进程。

NuGet

NuGet 凭据提供程序的改进

此版本显著改善了使用已经过身份验证的包源的体验,尤其适用于 Mac 和 Linux 用户:

  • Visual Studio、MSBuild、NuGet.exe和.NET现在支持新的凭据提供程序插件接口,该接口可由专用包主机(如 Azure Artifacts)实现。 以前,仅 NuGet.exe 和Visual Studio接受凭据提供程序。
  • Visual Studio 版本(包括 Build Tools 版)现在在某些工作负载中提供 Azure Artifacts 凭据提供程序,以便你可以在开发过程中轻松使用 Azure Artifacts 源。 若要使用这些改进,请安装 NuGet 包管理器NuGet 目标和生成任务组件或 .NET Core 工作负荷。

NuGet 程序包管理器 的改进

  • NuGet 现在支持对基于 PackageReference 的项目锁定完全包封闭,因此可支持包的重复还原。
  • Visual Studio NuGet 包管理器 UI 现在会显示使用新许可证格式的包的许可证信息。 新的许可证格式 以 SPDX 表达式或许可证文件的形式将许可证信息嵌入包中。

NuGet 安全性

我们引入了 NuGet 客户端策略,使你能够配置包安全性约束。 这意味着你可以锁定环境以仅允许安装信任的包,方法如下:

  • 禁止安装未签名的包。
  • 根据作者签名定义受信任的签名列表。
  • 根据存储库签名中的元数据定义受信任的 NuGet.org 包所有者的列表。

.NET Core 工具 for Visual Studio

从此版本开始,适用于Visual Studio的 .NET Core 工具现在默认仅使用计算机上安装Visual Studio正式版的 .NET Core SDK 的最新稳定版本。 对于将来的预览版,这些工具将仅使用预览版.NET核心 SDK。


已解决的问题

请参阅 Visual Studio 2017 版本 15.9 中修复的所有客户报告的问题。

DevComIcon 开发者社区 Portal


已知问题

请参阅 Visual Studio 2017 版本 15.9 中的所有现有已知问题和可用解决方法。

KnownIssueButton Visual Studio 2017 已知问题


Visual Studio 2017 发行说明历史记录

有关 Visual Studio 2017 以前的版本的详细信息,请参阅 Visual Studio 2017 发行说明历史记录页。