Dev15LogoVisual Studio 2017 版本 15.9 发行说明


提示

观看 Visual Studio 2022 发布活动的录制内容,了解新功能,听取提示和技巧,并下载免费的数字材料。


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



注意

此版本不是最新版本的 Visual Studio。 若要下载最新版本,请访问 Visual Studio 2019 的当前发行说明


若要下载 Visual Studio 2017,请单击“下载”按钮,并在出现提示时使用 Visual Studio 订阅登录。 如果你没有 Visual Studio 订阅,可以单击登录页上的“创建新的 Microsoft 帐户”免费创建一个订阅。 建议使用 Visual Studio 2019 获取最新功能和 bug 修复。

请访问旧版本页面,下载其他 Visual Studio 2017 产品。


15.9 中的新增功能


Visual Studio 2017 版本 15.9 发布


重要

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


请参阅 Visual Studio 2017 版本 15.9 中采用的所有开发人员社区项的完整列表


New Release Icon 15.9.48Visual Studio 2017 版本 15.9.48

发布日期:2022 年 5 月 10 日

15.9.48 中修复的问题

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

安全公告通知

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

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


New Release Icon 15.9.47Visual Studio 2017 版本 15.9.47

发布日期:2022 年 4 月 19 日

15.9.47 中修复的问题

  • 修复了从 15.9.46 回归vctip.exe回归。

New Release Icon 15.9.46Visual Studio 2017 版本 15.9.46

发布日期:2022 年 4 月 12 日

15.9.46 中修复的问题

安全公告通知

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

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

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


New Release Icon 15.9.45Visual 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,解决了此问题。


New Release Icon 15.9.44Visual Studio 2017 版本 15.9.44

发布日期:2022 年 2 月 8 日

15.9.44 中修复的问题

安全公告通知

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


New Release Icon 15.9.43Visual Studio 2017 版本 15.9.43

发布日期:2022 年 1 月 11 日

15.9.43 中修复的问题

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

New Release Icon 15.9.42Visual Studio 2017 版本 15.9.42

发布时间:2021 年 12 月 14 日

15.9.42 中修复的问题

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

New Release Icon 15.9.41Visual 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.40Visual 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 X509_V_FLAG_X509_STRICT 标志的 OpenSSL 潜在绕过 Git 使用的 OpenSSL 库中存在潜在的标志绕过漏洞。


New Release Icon 15.9.39Visual Studio 2017 版本 15.9.39

发布时间:2021 年 9 月 14 日

15.9.39 中修复的问题

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

安全公告通知

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

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


New Release Icon 15.9.38Visual Studio 2017 版本 15.9.38

发布日期:2021 年 8 月 10 日

15.9.38 中修复的问题

  • 修复了影响 update 命令的命令行执行的问题。 如果第一次更新失败,则后续发出 update 命令现在会导致更新从中断的位置继续先前的操作。

安全公告通知

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

存在拒绝服务漏洞,在这种情况下,提供 WebSocket 终结点的 .NET (Core) 服务器应用程序在尝试读取单个 WebSocket 帧时可能会陷入无限循环。

CVE-2021-34485 .NET Core 信息泄漏漏洞

使用 Linux 和 macOS 上的全局读取权限创建由工具创建的用于收集故障转储和按需转储的转储时,存在信息泄漏漏洞。

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

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


New Release Icon 15.9.37Visual Studio 2017 版本 15.9.37

发布日期:2021 年 7 月 13 日

15.9.37 中修复的问题

  • 修复的问题:创建离线 Visual Studio 2017 安装布局包含“使用 Unity 的游戏开发”工作负载和来自中国的 Unity 编辑器可选组件。

New Release Icon 15.9.36Visual Studio 2017 版本 15.9.36

发布日期:2021 年 5 月 11 日

15.9.36 中修复的问题

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

New Release Icon 15.9.35Visual 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 诊断中心标准收集器服务特权提升漏洞

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


New Release Icon 15.9.34Visual Studio 2017 版本 15.9.34

发布时间:2021 年 3 月 9 日

v15.9.34 中修复的问题

安全公告通知

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

当 Visual Studio 克隆恶意软件时,会存在远程代码执行漏洞。

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

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


New Release Icon 15.9.33Visual Studio 2017 版本 15.9.33

发布日期:2021 年 2 月 10 日

15.9.33 版中修复的问题


New Release Icon 15.9.32Visual Studio 2017 版本 15.9.32

发布日期:2021 年 2 月 9 日

15.9.32 版中修复的问题

安全公告通知

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

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

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

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

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

释放图元文件时,如果图形界面仍有对它的引用,则会存在远程代码执行漏洞。 此漏洞仅存在于在 MacOS 或 Linux 上运行的系统中。


New Release Icon 15.9.31Visual Studio 2017 版本 15.9.31

发布日期:2021 年 1 月 12 日

15.9.31 版中修复的问题

安全公告通知

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

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

CVE-2020-26870 Visual Studio 安装程序远程代码执行漏洞

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


New Release Icon 15.9.30Visual 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.29Visual Studio 2017 版本 15.9.29

发布日期:2020 年 11 月 20 日

15.9.29 版中修复的问题

安全公告通知

CVE-2020-17100 Visual Studio 篡改漏洞

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


New Release Icon 15.9.28Visual Studio 2017 版本 15.9.28

发布日期:2020 年 10 月 13 日

15.9.28 版中修复的问题

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

New Release Icon 15.9.27Visual Studio 2017 版本 15.9.27

发布时间:2020 年 9 月 8 日

15.9.27 版中修复的问题

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

安全公告通知

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.26Visual 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.25Visual 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 Core 拒绝服务漏洞

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


New Release Icon 15.9.24Visual Studio 2017 版本 15.9.24

发布日期:2020 年 6 月 2 日

15.9.24 版中修复的问题

  • 修复了在 DLL 名称的后缀上使用大小写不同的伞式 LIB 时 C++ 链接器缺少导入的 bug。
  • 修复了 ARM64 C++ 编译器中可能在 setjmp 后还原错误的值这一 bug。
  • 修复了 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 更新说明,请参阅发行说明


New Release Icon 15.9.23Visual 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 Core 拒绝服务漏洞

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


New Release Icon 15.9.22Visual 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 Extension Installer 服务特权提升漏洞

当 Visual Studio Extension Installer 服务不当处理文件操作时,会出现特权提升漏洞。 成功利用了此漏洞的攻击者可使用已提升的权限删除任意位置的文件。

CVE-2020-5260 由于对 URL 的验证不足而导致的 Git for Visual Studio 凭据泄露漏洞

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


New Release Icon 15.9.21Visual Studio 2017 版本 15.9.21

发布时间:2020 年 3 月 10 日

15.9.21 版中修复的问题

安全公告通知

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

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

CVE-2020-0884 在创建 Outlook Web 外接程序时存在欺骗漏洞

如果启用了多重身份验证,则在创建 Outlook Web 外接程序时将存在欺骗漏洞


New Release Icon 15.9.20Visual Studio 2017 版本 15.9.20

发布日期:2020 年 2 月 11 日

15.9.20 版中修复的问题


New Release Icon 15.9.19Visual Studio 2017 版本 15.9.19

发布日期:2020 年 1 月 14 日

15.9.19 版中修复的问题

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

安全公告通知

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

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

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

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


New Release Icon 15.9.18Visual Studio 2017 版本 15.9.18

发布时间:2019 年 12 月 10 日

15.9.18 版中修复的问题

  • 可以缓解 Visual Studio 中与每个监视器感知相关的故障

安全公告通知

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

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

CVE-2019-1350 由于命令行参数的错误引用导致 Visual Studio 远程执行漏洞的 Git

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

CVE-2019-1351 由于在克隆期间使用了非字母驱动器名称导致 Visual Studio 任意文件覆盖漏洞的 Git

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

CVE-2019-1352 由于未感知 NTFS 备用数据流导致 Visual Studio 远程执行漏洞的 Git

通过 NTFS 备用数据流克隆和写入 .git/ 目录时,存在远程代码执行漏洞。 成功利用此漏洞的攻击者可以针对目标计算机远程执行代码。 该安全更新通过使用新版本的 Git for Windows 来解决该漏洞,该版本可感知 NTFS 备用数据流。

CVE-2019-1354 由于未拒绝写入包含反斜杠的跟踪文件导致的 Visual Studio 任意文件覆盖漏洞的 Git

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

CVE-2019-1387 由于对递归克隆中的子模块名称的验证过于宽松导致的 Visual Studio 远程执行漏洞的 Git

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


New Release Icon 15.9.17Visual 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 包的更新版本。


New Release Icon 15.9.16Visual Studio 2017 版本 15.9.16

发布时间:2018 年 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.15Visual Studio 2017 版本 15.9.15

发布日期:2019 年 8 月 13 日

15.9.15 版中修复的问题

安全公告通知

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

当 Git for Visual Studio 错误地分析配置文件时,其中存在特权提升漏洞。 成功利用此漏洞的攻击者可以在另一个本地用户的上下文中执行代码。 要利用此漏洞,经过身份验证的攻击者需要先修改系统上的 Git 配置文件,再安装完整的应用程序。 然后,攻击者需要使系统上的另一个用户执行特定的 Git 命令。 更新更改了编辑配置文件所需的权限,从而解决了这一问题。


New Release Icon 15.9.14Visual Studio 2017 版本 15.9.14

发布日期:2019 年 7 月 9 日

15.9.14 版中修复的问题

安全公告通知

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

今天已发布 .NET Core 更新,包含在此 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


New Release Icon 15.9.13Visual Studio 2017 版本 15.9.13

发布日期:2019 年 6 月 11 日

15.9.13 版中修复的问题


New Release Icon 15.9.12Visual Studio 2017 版本 15.9.12

发布日期:2019 年 5 月 14 日

15.9.12 版中修复的问题

安全公告通知

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

如果诊断中心标准收集器服务不正确地执行特定文件操作,就会存在特权提升漏洞。 成功利用此漏洞的攻击者可以删除任意位置的文件。 攻击者必须对易受攻击的系统拥有非特权访问权限,才能利用此漏洞。 安全更新通过保护诊断中心标准收集器执行文件操作的位置来处理漏洞。


New Release Icon 15.9.11Visual Studio 2017 版本 15.9.11

发布时间:2019 年 4 月 2 日

15.9.11 版中修复的问题


New Release Icon 15.9.10Visual 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.9Visual Studio 2017 版本 15.9.9

发布时间:2019 年 3 月 12 日

15.9.9 版中修复的问题

安全公告通知

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

Unity 编辑器中存在远程代码执行漏洞,该编辑器是 Visual Studio 提供的第三方软件,用于在向 Unity 工作负载进行游戏部署时安装。 如果已安装来自 Visual Studio 的 Unity,请务必将你在使用的 Unity 版本上传到处理 CVE 中所述漏洞的版本。 Visual Studio 安装程序已更新,可提供安装能处理该漏洞的 Unity 编辑器版本。

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

Visual Studio C++ Redistributable 安装程序在加载动态链接库 (DLL) 之前错误验证输入时,存在远程代码执行漏洞。 成功利用此漏洞的攻击者可能会在当前用户的上下文中执行任意代码。 与使用管理用户权限操作的用户相比,其帐户在系统上具有更少用户权限的用户更不易受到影响。 要利用该漏洞,攻击者必须在本地系统上放置一个恶意 DLL 并说服用户执行特定可执行文件。 该安全更新处理了该项漏洞,它更正了 Studio C++ Redistributable 安装程序在加载 DLL 文件前验证输入的方式。

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

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

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


New Release Icon 15.9.8Visual Studio 2017 版本 15.9.8

发布时间:2019 年 3 月 5 日

15.9.8 版中修复的问题


New Release Icon 15.9.7Visual 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 Framework 和 Visual Studio 欺骗漏洞

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


New Release Icon 15.9.6Visual Studio 2017 版本 15.9.6

发布日期:2019 年 1 月 24 日

15.9.6 中修复的问题


New Release Icon 15.9.5Visual Studio 2017 版本 15.9.5

发布日期:2019 年 1 月 8 日

15.9.5 中修复的问题

安全公告通知

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


New Release Icon 15.9.4Visual Studio 2017 版本 15.9.4

发布时间:2018 年 12 月 11 日

15.9.4 中修复的问题

安全公告通知

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

如果诊断中心标准收集器服务不正确地处理特定文件操作,就会存在特权提升漏洞。 成功利用此漏洞的攻击者可以获得提升的权限。 攻击者必须对易受攻击的系统拥有非特权访问权限,才能利用此漏洞。 此安全更新程序解决了这个漏洞,具体是通过确保诊断中心标准收集器服务能够正确模拟文件操作。


New Release Icon 15.9.3Visual Studio 2017 版本 15.9.3

发布日期:2018 年 11 月 28 日

15.9.3 中修复的问题


New Release Icon 15.9.2Visual Studio 2017 版本 15.9.2

发布日期:2018 年 11 月 19 日

15.9.2 中修复的问题


New Release Icon 15.9.1Visual Studio 2017 版本 15.9.1

发布日期:2018 年 11 月 15 日

15.9.1 中修复的问题

  • 修复了以下 bug:使用 Microsoft Xbox One XDK 时,Visual Studio 无法生成项目。

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

通用 Windows 平台开发 SDK

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


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

15.9 版中解决的首要问题

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

Developer Community Portal开发者社区门户


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

New Release Icon 15.9.0Visual Studio 2017 版本 15.9.0

发布日期:2018 年 11 月 13 日

15.9 版中的新增功能

安装

我们让你能够更为轻松地跨 Visual Studio 的多个安装来保持安装设置的一致性。 你现在可以使用 Visual Studio 安装程序为给定的 Visual Studio 实例导出 .vsconfig 文件。 此文件将包含有关你已安装的工作负载和组件的信息。 然后,可以导入此文件,以将这些工作负载和组件选项添加到 Visual Studio 的其他安装中。

调试

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

C++

  • 我们在 Visual Studio Enterprise 版本的适用于 C++ 的调试器中添加了“后退”功能。 后退功能使你能够及时返回,以及时查看之前的应用程序的状态。
  • C++ IntelliSense 现响应面向 Linux 的 CMake 和 MSBuild 项目的远程环境中的更改。 安装新的库或更改 CMake 项目时,C++ IntelliSense 将自动分析远程计算机上的新头文件,以实现完整无缝的 C++ 编辑体验。
  • 已将 UWP Desktop Bridge 框架包更新至 Windows 应用商店的最新版本,适用于包括 ARM64 在内的所有受支持的体系结构。
  • 除修复了 60 个阻止性 bug 外,还添加了对 range-v3 库和 MSVC 15.9 编译器配合使用的支持,在 /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 值的扩展方法可能转变不可变值的 bug。
  • 改进了 byref/inref/outref 上的重载的编译错误信息,而非显示以前模糊的错误。
  • 现已完全不允许使用 byref 上的可选类型扩展。 之前可以声明它们,但无法使用,从而令客户困惑。
  • 修复了在结构元组上使用 CompareTo 并产生使用别名的结构元组的类型等效项而造成运行时异常的 bug。
  • 修复了在创作适用于 .NET Standard 的类型提供程序时使用 System.Void 可能无法在设计时查找 System.Void 类型的 bug。
  • 修复了部分应用的可区分联合构造函数不匹配可区分联合的带批注或推论出的类型时可能发生内部错误的 bug。
  • 修改了尝试采用表达式(如访问属性)寻址时的编译器错误消息,以更清楚地表达其违反了 byref 类型的范围规则。
  • 修复了对方法或函数部分应用 byref 类型时程序可能在运行时崩溃的 bug。 现在会显示一条错误消息。
  • 修复了 byref 和引用类型(例如 byref<int> option)的无效组合会在运行时失败且不发出错误消息的问题。 现在可发出错误消息。

F# 工具

  • 解决了使用 .NET Core SDK 生成的 F# 程序集元数据不在 Windows 的文件属性中显示的问题。 现在,右键单击 Windows 上的程序集并选择“属性”即可查看此元数据。
  • 修复了在 F# 源中使用 module global 可能导致 Visual Studio 不响应的 bug。
  • 修复了使用 inref<'T> 的扩展方法在完成列表中不显示的 bug。
  • 修复了 .NET Framework F# 项目的“项目属性”中 TargetFramework 下拉列表为空的 bug。
  • 修复了创建面向 .NET Framework 4.0 的新 F# 项目将失败的 bug。

F# 开源存储库

现将 VisualFSharpFull 项目设为默认启动项目,使你无需在调试前进行手动设置。 谢谢你,Robert Jeppesen

JavaScript 和 TypeScript 语言服务支持

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

SharePoint 2019 支持

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

Visual Studio Tools for Xamarin

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

NuGet

NuGet 凭据提供程序改进

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

  • Visual Studio、MSBuild、NuGet.exe 和 .NET 现在支持新的凭据提供程序插件接口,可以通过 Azure Artifacts 等专用包主机实现。 以前,只有 NuGet.exe 和 Visual Studio 接受凭据提供程序。
  • Visual Studio 版本(包括生成工具版本)现提供具有特定工作负荷的 Azure Artifacts 凭据提供程序,从而可在开发过程中轻松使用 Azure Artifacts 源。 要使用这些改进的功能,请安装 NuGet 包管理器NuGet 目标和生成任务组件,或 .NET Core 工作负载。

NuGet 包管理器改进

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

NuGet 安全性

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

  • 不允许安装未签名的包。
  • 根据创建者签名定义一系列信任的签名者。
  • 根据存储库签名中的元数据,定义一系列信任的 NuGet.org 包所有者。

用于 Visual Studio 的 .NET Core 工具

从此版本开始,用于 Visual Studio 的 .NET Core 工具现将默认为仅使用最新稳定版本的 .NET Core SDK,它安装于 Visual Studio 公开发行版的计算机上。 对于将来的预览版,工具将仅使用预览版 .NET Core SDK。


修复的问题

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

DevComIcon开发者社区门户


已知问题

查看 Visual Studio 2017 版本 15.9 中全部现有已知问题和可用解决办法。

KnownIssueButtonVisual Studio 2017 已知问题


反馈和建议

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


Blogs

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

Developer Tools Blogs


Visual Studio 2017 发行说明历史记录

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


返回页首