重要
这不是 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 现已得到扩展支持,因此所有 管理员更新现在涵盖产品的所有次要版本范围。 这意味着,所有通过 Microsoft 更新目录或 Microsoft Endpoint Manager 提供的安全更新都会将客户端更新到 Visual Studio 2017 产品的最新安全版本。
.NET Core 2.1 自 2021 年 8 月 21 日起停止支持
Visual Studio 2017 版本 15.9 发布
- 2025 年 11 月 11 日 -- Visual Studio 2017 版本 15.9.78
- 2025 年 10 月 14 日 -- Visual Studio 2017 版本 15.9.77
- 2025 年 8 月 12 日 -- Visual Studio 2017 版本 15.9.76
- 2025 年 7 月 8 日 -- Visual Studio 2017 版本 15.9.75
- 2025 年 6 月 10 日 -- Visual Studio 2017 版本 15.9.74
- 2025 年 5 月 13 日 -- Visual Studio 2017 版本 15.9.73
- 2025 年 4 月 8 日 -- Visual Studio 2017 版本 15.9.72
- 2025 年 3 月 11 日 -- Visual Studio 2017 版本 15.9.71
- 2025 年 2 月 11 日 -- Visual Studio 2017 版本 15.9.70
- 2025 年 1 月 14 日 -- Visual Studio 2017 版本 15.9.69
- 2024 年 11 月 12 日 -- Visual Studio 2017 版本 15.9.68
- 2024 年 10 月 8 日 -- Visual Studio 2017 版本 15.9.67
- 2024 年 9 月 10 日 -- Visual Studio 2017 版本 15.9.66
- 2024 年 8 月 13 日 -- Visual Studio 2017 版本 15.9.65
- 2024 年 7 月 9 日 -- Visual Studio 2017 版本 15.9.64
- 2024 年 6 月 11 日 -- Visual Studio 2017 版本 15.9.63
- 2024 年 5 月 14 日 - Visual Studio 2017 版本 15.9.62
- 2024 年 4 月 9 日 -- Visual Studio 2017 版本 15.9.61
- 2024 年 2 月 13 日 (web) 和 2024 年 3 月 12 日(Microsoft 更新)-- Visual Studio 2017 版本 15.9.60
- 2024 年 1 月 9 日 -- Visual Studio 2017 版本 15.9.59
- 2023 年 10 月 10 日 -- Visual Studio 2017 版本 15.9.58
- 2023 年 9 月 12 日 -- Visual Studio 2017 版本 15.9.57
- 2023 年 8 月 8 日 -- Visual Studio 2017 版本 15.9.56
- 2023 年 4 月 11 日 -- Visual Studio 2017 版本 15.9.54
- 2023 年 3 月 14 日 -- Visual Studio 2017 版本 15.9.53
- 2023 年 2 月 14 日 -- Visual Studio 2017 版本 15.9.52
- 2022 年 11 月 8 日 -- Visual Studio 2017 版本 15.9.51
- 2022 年 8 月 9 日 -- Visual Studio 2017 版本 15.9.50
- 2022 年 6 月 14 日 -- Visual Studio 2017 版本 15.9.49
- 2022 年 5 月 10 日 -- Visual Studio 2017 版本 15.9.48
- 2022 年 4 月 19 日 -- Visual Studio 2017 版本 15.9.47
- 2022 年 4 月 12 日 -- Visual Studio 2017 版本 15.9.46
- 2022 年 3 月 8 日 -- Visual Studio 2017 版本 15.9.45
- 2022 年 2 月 8 日 -- Visual Studio 2017 版本 15.9.44
- 2022 年 1 月 11 日 -- Visual Studio 2017 版本 15.9.43
- 2021 年 12 月 14 日 -- Visual Studio 2017 版本 15.9.42
- 2021 年 11 月 9 日 -- Visual Studio 2017 版本 15.9.41
- 2021 年 10 月 12 日 -- Visual Studio 2017 版本 15.9.40
- 2021 年 9 月 14 日 -- Visual Studio 2017 版本 15.9.39
- 2021 年 8 月 10 日 -- Visual Studio 2017 版本 15.9.38
- 2021 年 7 月 13 日 -- Visual Studio 2017 版本 15.9.37
- 2021 年 5 月 11 日 -- Visual Studio 2017 版本 15.9.36
- 2021 年 4 月 13 日 -- Visual Studio 2017 版本 15.9.35
- 2021 年 3 月 9 日 -- Visual Studio 2017 版本 15.9.34
- 2021 年 2 月 10 日 -- Visual Studio 2017 版本 15.9.33
- 2021 年 2 月 9 日 -- Visual Studio 2017 版本 15.9.32
- 2021 年 1 月 12 日 -- Visual Studio 2017 版本 15.9.31
- 2020 年 12 月 8 日 -- Visual Studio 2017 版本 15.9.30
- 2020 年 11 月 10 日 -- Visual Studio 2017 版本 15.9.29
- 2020 年 10 月 13 日 -- Visual Studio 2017 版本 15.9.28
- 2020 年 9 月 8 日 -- Visual Studio 2017 版本 15.9.27
- 2020 年 8 月 11 日 -- Visual Studio 2017 版本 15.9.26
- 2020 年 7 月 14 日 -- Visual Studio 2017 版本 15.9.25
- 2020 年 6 月 9 日 -- Visual Studio 2017 版本 15.9.24
- 2020 年 5 月 12 日 -- Visual Studio 2017 版本 15.9.23
- 2020 年 4 月 14 日 -- Visual Studio 2017 版本 15.9.22
- 2020 年 3 月 10 日 -- Visual Studio 2017 版本 15.9.21
- 2020 年 2 月 11 日 -- Visual Studio 2017 版本 15.9.20
- 2020 年 1 月 14 日 -- Visual Studio 2017 版本 15.9.19
- 2019 年 12 月 10 日 -- Visual Studio 2017 版本 15.9.18
- 2019 年 10 月 15 日 -- Visual Studio 2017 版本 15.9.17
- 2019 年 9 月 10 日 -- Visual Studio 2017 版本 15.9.16
- 2019 年 8 月 13 日 -- Visual Studio 2017 版本 15.9.15
- 2019 年 7 月 9 日 -- Visual Studio 2017 版本 15.9.14
- 2019 年 6 月 11 日 -- Visual Studio 2017 版本 15.9.13
- 2019 年 5 月 14 日 -- Visual Studio 2017 版本 15.9.12
- 2019 年 4 月 2 日 -- Visual Studio 2017 版本 15.9.11
- 2019 年 3 月 25 日 -- Visual Studio 2017 版本 15.9.10
- 2019 年 3 月 12 日 -- Visual Studio 2017 版本 15.9.9
- 2019 年 3 月 5 日 -- Visual Studio 2017 版本 15.9.8
- 2019 年 2 月 12 日 -- Visual Studio 2017 版本 15.9.7
- 2019 年 1 月 24 日 -- Visual Studio 2017 版本 15.9.6
- 2019 年 1 月 8 日 -- Visual Studio 2017 版本 15.9.5
- 2018 年 12 月 11 日 -- Visual Studio 2017 版本 15.9.4
- 2018 年 11 月 28 日 -- Visual Studio 2017 版本 15.9.3
- 2018 年 11 月 19 日 -- Visual Studio 2017 版本 15.9.2
- 2018 年 11 月 15 日 -- Visual Studio 2017 版本 15.9.1
- 2018 年 11 月 13 日 - Visual Studio 2017 版本 15.9 小版本更新
重要
Visual Studio 2017 版本 15.9 安全公告通知
- 2025 年 10 月 14 日 -- Visual Studio 2017 版本 15.9.77 更新
- 2025 年 7 月 8 日 -- Visual Studio 2017 版本 15.9.75 更新
- 2025 年 5 月 13 日 -- Visual Studio 2017 版本 15.9.73 更新
- 2025 年 3 月 11 日 -- Visual Studio 2017 版本 15.9.71 Update
- 2025 年 2 月 11 日 -- Visual Studio 2017 版本 15.9.70 Update
- 2025 年 1 月 14 日 -- Visual Studio 2017 版本 15.9.69 Update
- 2024 年 10 月 8 日 -- Visual Studio 2017 版本 15.9.67 Update
- 2024 年 9 月 10 日 -- Visual Studio 2017 版本 15.9.66 更新
- 2024 年 8 月 13 日 -- Visual Studio 2017 版本 15.9.65 更新
- 2024 年 6 月 11 日 - Visual Studio 2017 版本 15.9.63 更新
- 2024 年 5 月 14 日 - Visual Studio 2017 版本 15.9.62 更新
- 2024 年 1 月 9 日 - Visual Studio 2017 版本 15.9.59 更新
- 2023 年 9 月 12 日 -- Visual Studio 2017 版本 15.9.57 更新
- 2023 年 8 月 8 日 -- Visual Studio 2017 版本 15.9.56 更新
- 2023 年 6 月 13 日 -- Visual Studio 2017 版本 15.9.55 更新
- 2023 年 4 月 11 日 -- Visual Studio 2017 版本 15.9.54 更新
- 2023 年 3 月 14 日 -- Visual Studio 2017 版本 15.9.53 更新
- 2023 年 2 月 14 日 - Visual Studio 2017 版本 15.9.52 更新
- 2022 年 11 月 8 日 -- Visual Studio 2017 版本 15.9.51 更新
- 2022 年 8 月 9 日 - Visual Studio 2017 版本 15.9.50 更新
- 2022 年 6 月 14 日 - Visual Studio 2017 版本 15.9.49 更新
- 2022 年 5 月 10 日 - Visual Studio 2017 版本 15.9.48 更新
- 2022 年 4 月 12 日 - Visual Studio 2017 版本 15.9.46 更新
- 2022 年 3 月 8 日 -- Visual Studio 2017 版本 15.9.45 更新
- 2022 年 2 月 8 日 -- Visual Studio 2017 版本 15.9.44 更新
- 2021 年 11 月 9 日 - Visual Studio 2017 版本 15.9.41 更新
- 2021 年 10 月 12 日 - Visual Studio 2017 版本 15.9.40 更新
- 2021 年 9 月 14 日 - Visual Studio 2017 版本 15.9.39 更新
- 2021 年 8 月 10 日 - Visual Studio 2017 版本 15.9.38 更新
- 2021 年 4 月 13 日 - Visual Studio 2017 版本 15.9.35 更新
- 2021 年 3 月 9 日 - Visual Studio 2017 v15.9.34 更新
- 2021 年 2 月 9 日 - Visual Studio 2017 版本 15.9.32 更新
- 2021 年 1 月 12 日 - Visual Studio 2017 版本 15.9.31 更新
- 2020 年 12 月 8 日 - Visual Studio 2017 版本 15.9.30 更新
- 2020 年 11 月 10 日 - Visual Studio 2017 版本 15.9.29 更新
- 2020 年 9 月 8 日 - Visual Studio 2017 版本 15.9.27 更新
- 2020 年 8 月 11 日 -- Visual Studio 2017 版本 15.9.26 更新
- 2020 年 7 月 14 日 - Visual Studio 2017 版本 15.9.25 更新
- 2020 年 6 月 9 日 - Visual Studio 2017 版本 15.9.24 更新
- 2020 年 5 月 12 日 - Visual Studio 2017 版本 15.9.23 更新
- 2020 年 4 月 14 日 - Visual Studio 2017 版本 15.9.22 更新
- 2020 年 3 月 10 日 - Visual Studio 2017 版本 15.9.21 更新
- 2020 年 1 月 14 日 - Visual Studio 2017 版本 15.9.19 更新
- 2019 年 12 月 10 日 - Visual Studio 2017 版本 15.9.18 更新
- 2019 年 10 月 15 日 - Visual Studio 2017 版本 15.9.17 更新
- 2019 年 9 月 10 日 - Visual Studio 2017 版本 15.9.16 更新
- 2019 年 8 月 13 日 - Visual Studio 2017 版本 15.9.15 更新
- 2019 年 7 月 9 日 - Visual Studio 2017 版本 15.9.14 更新
- 2019 年 5 月 10 日 - Visual Studio 2017 版本 15.9.12 更新
- 2019 年 3 月 12 日 - Visual Studio 2017 版本 15.9.9 更新
- 2019 年 2 月 12 日 - Visual Studio 2017 版本 15.9.7 更新
- 2019 年 1 月 8 日 - Visual Studio 2017 版本 15.9.5 更新
- 2018 年 12 月 11 日 - Visual Studio 2017 版本 15.9.4 更新
Visual Studio 2017 版本 15.9.78
发布时间:2025 年 11 月 11 日
此版本中已解决的问题
- 将适用于 Windows 单个组件的 Git 更新为 v2.51.1.1
开发者社区
Visual Studio 2017 版本 15.9.77
发布时间:2025 年 10 月 14 日
此版本中已解决的问题
- 已将 MinGit 更新为 v2.50.1,以解决存储库位于 ReFS 卷和 Windows Server 2022 上的用户无法使用 VS IDE 执行 Git作的问题。
- 删除了适用于 x86 计算机的 32 位版本的 Git for Windows 独立组件,因为根据32 位的支持文档,已不再提供支持。
已解决的安全公告
- 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 版本。
已解决的安全公告
- CVE-2025-49739 Visual Studio - 权限提升 - 标准收集器服务中的检查时间到使用时间漏洞允许本地权限升级
- CVE-2025-27613 Gitk 参数漏洞
- CVE-2025-27614 Gitk Abitryary 代码执行漏洞
- CVE-2025-46334 Git 恶意代码 Shell 漏洞
- CVE-2025-46835 Git 文件覆盖漏洞
- CVE-2025-48384 Git Symlink 漏洞
- CVE-2025-48385 Git 协议注入漏洞
- CVE-2025-48386 Git 凭据帮助程序漏洞
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 日
此版本中已解决的问题
已解决的安全公告
- CVE-2025-24998 Visual Studio 安装程序特权提升漏洞
Visual Studio 2017 版本 15.9.70
发布时间:2025年2月11日
此版本中已解决的问题
已解决的安全公告
- CVE-2025-21206 Visual Studio 安装程序特权提升 - 不受控制的搜索路径元素允许未经授权的攻击者在本地提升权限。
Visual Studio 2017 版本 15.9.69
于 2025 年 1 月 14 日发布
此版本中已解决的问题
已解决的安全公告
- CVE-2025-21172 .NET 和 Visual Studio 远程代码执行漏洞
- CVE-2025-21176 .NET、.NET Framework 和 Visual Studio 远程代码执行漏洞
- CVE-2025-21178 Visual Studio 远程代码执行漏洞
- CVE-2024-50338 远程 URL 中的回车符允许恶意存储库泄露凭据
Visual Studio 2017 版本 15.9.68
发布时间:2024 年 11 月 12 日
此版本中已解决的问题
- 此更新包括与 Visual Studio 符合性相关的修补程序。
Visual Studio 2017 版本 15.9.67
发布时间:2024 年 10 月 8 日
此版本中已解决的问题
- 更新了与 Microsoft 应用商店交互时使用的身份验证方法。
已解决的安全公告
- CVE-2024-43603 Visual Studio 收集器服务中的拒绝服务漏洞
- CVE-2024-43590 Visual Studio C++ 可再发行安装程序中的特权提升漏洞
Visual Studio 2017 版本 15.9.66
于 2024 年 9 月 10 日发布
此版本中已解决的问题
已解决的安全公告
CVE-2024-35272 SQL Server 原生客户端 OLE DB 提供程序远程代码执行漏洞
Visual Studio 2017 版本 15.9.65
发布日期:2024 年 8 月 13 日
此版本中已解决的问题
- 从此版本开始,Visual Studio 安装程序将不再提供安装可选的 Xamarin 工作簿组件。
- 从此版本开始,Visual Studio 安装程序将不再提供安装 Visual Studio Emulator for Android 组件。
已解决的安全公告
- CVE-2024-29187(重新发布) - 基于 WiX 的安装程序在作为 SYSTEM 运行时容易受到二进制劫持
Visual Studio 2017 版本 15.9.64
于 2024 年 7 月 9 日发布
此版本中已解决的问题
- 由于已被弃用,AzCopy 版本 6.2 不再作为 Visual Studio 中 Azure 工作负载的一部分进行分发。 可以从 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 的所有交换机不会返回处于不可启动状态的实例的问题。
已解决的安全公告
- CVE-2023-36897 Visual Studio 2010 Tools for Office 运行时欺骗漏洞 此安全更新解决了一个漏洞,该漏洞允许未经身份验证的远程攻击者在没有有效的代码签名证书的情况下对 VSTO 加载项的部署进行签名。
Visual Studio 2017 版本 15.9.55
发布日期:2023 年 6 月 13 日
此版本中已解决的问题
- 在此更新中,为了解决 CVE-2023-27909、CVE-2023-27910 和 CVE-2023-27911 的问题,我们将删除 .fbx 和.dae支持。 这是作者不再支持的第三方 x86 组件。 受影响的用户应使用 fbx 编辑器。
已解决的安全公告
- CVE-2023-24897 Visual Studio 远程代码执行漏洞 此安全更新解决了 MSDIA SDK 中的漏洞,其中损坏的 PDB 可能会导致堆溢出,从而导致故障或远程执行代码。
- CVE-2023-25652 Visual Studio 远程代码执行漏洞 此安全更新解决了对 git apply –reject 的特制输入可能导致在任意位置写入受控内容的漏洞。
- CVE-2023-25815 Visual Studio 欺骗漏洞 此安全更新解决了一个漏洞:Github 本地化消息引用硬编码路径,而不是遵循运行时前缀,这会导致超出界限的内存写入和崩溃。
- CVE-2023-29007 Visual Studio 远程代码执行漏洞 此安全更新解决了包含逻辑错误的配置文件导致任意配置注入的漏洞。
- CVE-2023-29011 Visual Studio 远程代码执行漏洞 此安全更新解决了负责实现 SOCKS5 代理的 Git for Windows 可执行文件容易在多用户计算机上选取不受信任的配置的漏洞。
- CVE-2023-29012 Visual Studio 远程代码执行漏洞 此安全更新解决了 Git for Windows Git CMD 程序在启动时错误地搜索程序从而导致无提示任意代码执行的漏洞。
- CVE-2023-27909 Visual Studio 远程代码执行漏洞 此安全更新解决了 Autodesk® FBX® SDK 中的越界写入漏洞,其中 2020 或更早版本可能会通过恶意制作的 FBX 文件导致代码执行或信息泄露。
- CVE-2023-27910 Visual Studio 信息泄露漏洞 此安全更新解决了一个漏洞,其中用户可能被欺骗打开恶意 FBX 文件,该漏洞可能会利用 Autodesk® FBX® SDK 2020 或更早版本中的堆栈缓冲区溢出漏洞,这可能会导致远程代码执行。
- CVE-2023-27911 Visual Studio 远程代码执行漏洞 此安全更新解决了一个漏洞,其中用户可能被欺骗打开恶意 FBX 文件,该漏洞可能会利用 Autodesk® FBX® SDK 2020 或更早版本中的堆缓冲区溢出漏洞,这可能会导致远程代码执行。
- CVE-2023-33139 Visual Studio 信息泄露漏洞 此安全更新程序解决了 Visual Studio 中 obj 文件分析程序导致信息泄露的 OOB 漏洞。
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 的问题
已解决的安全公告
- CVE-2023-22490 Mingit 远程代码执行漏洞
- CVE-2023-22743 Git for Windows Installer 特权提升漏洞
- CVE-2023-23618 Git for Windows 远程代码执行漏洞
- CVE-2023-23946 Mingit 远程代码执行漏洞
Visual Studio 2017 版本 15.9.52
发布日期:2023 年 2 月 14 日
在 15.9.52 版本中修复的问题
- 将 mingit 和 Git for Windows 包更新到 v2.39.1.1,解决了 CVE-2022-41903
已解决的安全公告
- CVE-2023-21566 Visual Studio 安装程序特权提升漏洞
- CVE-2023-21567 Visual Studio 拒绝服务漏洞
- CVE-2023-21808 .NET 和 Visual Studio 远程代码执行漏洞
- CVE-2023-21815 Visual Studio 远程代码执行漏洞
- CVE-2023-23381 Visual Studio Code 远程代码执行漏洞
- CVE-2022-23521 gitattributes 分析整数溢出
-
CVE-2022-41903
git archive和git log --format中的堆溢出导致 RCE - CVE-2022-41953 Git GUI 克隆远程代码执行漏洞
Visual Studio 2017 版本 15.9.51
发布日期:2022 年 11 月 8 日
15.9.51 中已修复的问题
- 管理员将能够从布局更新脱机客户端计算机上的 VS 安装程序,而无需更新 VS。
已解决的安全公告
- CVE-2022-41119 远程代码执行 Visual Studio 中的堆溢出漏洞
- CVE-2022-39253 信息泄露 本地克隆优化在默认情况下重新指向符号链接
Visual Studio 2017 版本 15.9.50
于 2022 年 8 月 9 日发布
修复于 15.9.50 版本中的问题
- 将适用于 Windows 的 Git 更新为 v2.37.1.1,用于解决 CVE-2022-31012 的问题。
已解决的安全公告
- CVE-2022-31012 远程代码执行 Git for Windows 的安装程序可能会被欺骗执行不受信任的二进制文件
- CVE-2022-29187 特权提升 恶意用户可以在超级用户拥有的文件夹中创建 .git 目录
- CVE-2022-35777 远程代码执行 Visual Studio 2022 预览版 Fbx 文件分析程序堆溢出漏洞
- CVE-2022-35825 远程代码执行 Visual Studio 2022 预览版 Fbx 文件分析程序 OOBW 漏洞
- CVE-2022-35826 远程代码执行 Visual Studio 2022 预览版 Fbx 文件分析程序堆溢出漏洞
- CVE-2022-35827 远程代码执行 Visual Studio 2022 预览版 Fbx 文件解析器堆 OOBW 漏洞
Visual Studio 2017 版本 15.9.49
于 2022 年 6 月 14 日发布
已解决的安全公告
- CVE-2022-24513 特权提升漏洞 当 Microsoft Visual Studio 更新程序服务错误分析本地配置数据时,存在潜在的特权提升漏洞。
Visual Studio 2017 版本 15.9.48
于 2022 年 5 月 10 日发布
15.9.48 版中修复的问题
- 已将 Visual Studio 所用的 Git for Windows 版本以及可安装的可选组件更新到 2.36.0.1
- 修复了 git 集成的问题,其中,如果拉取/同步已分离的分支,则输出窗口不会显示有关如何解决该问题的本地化提示。
已解决的安全公告
CVE-2022-29148Visual 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 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 更新程序服务错误分析本地配置数据时,存在潜在的特权提升漏洞。
Visual Studio 2017 版本 15.9.45
发布日期:2022 年 3 月 8 日
修复于15.9.45版中的问题
已解决的安全公告
CVE-2021-3711 OpenSSL 缓冲区溢出漏洞 OpenSSL 中存在潜在的缓冲区溢出漏洞,该漏洞由 Git for Windows 使用。 现在,适用于 Windows 的 Git 已更新到版本 2.35.1.2,解决了此问题。
Visual Studio 2017 版本 15.9.44
于 2022 年 2 月 8 日发布
在 15.9.44 版中修复的问题
已解决的安全公告
CVE-2022-21871 诊断中心标准收集器运行时权限提升漏洞 若诊断中心标准收集器错误处理数据操作,就存在权限提升漏洞。
Visual Studio 2017 版本 15.9.43
于 2022 年 1 月 11 日发布
15.9.43 版中修复的问题
- 修复了当 Windows 终端被用作默认终端时,无法多次调试应用程序的问题。
- 修复了阻止客户端更新更当前的引导程序的问题。 客户端使用 2022 年 1 月或更高版本的引导程序和安装程序后,使用后续引导程序的所有更新都应在整个产品生命周期内有效。
Visual Studio 2017 版本 15.9.42
发布时间:2021 年 12 月 14 日
15.9.42 版中修复的若干问题
- 由于安全漏洞,已将 CPython 3.6.6 标记为不受支持。
Visual Studio 2017 版本 15.9.41
于 2021 年 11 月 9 日发布
15.9.41 版中修复的问题
已解决的安全公告
CVE-2021-42319 权限提升漏洞 Visual Studio 安装程序中包含的 WMI 提供程序存在权限提升漏洞。
CVE-2021-42277 诊断中心标准收集器服务权限提升漏洞 当诊断中心标准收集器错误处理文件操作时,就存在权限提升漏洞。
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 使用。
Visual 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 中会存在远程代码执行漏洞。 成功利用漏洞的攻击者可以在当前用户的上下文中运行任意代码。
Visual Studio 2017 版本 15.9.38
发布日期:2021 年 8 月 10 日
在 15.9.38 版本中修复的问题
- 修复了影响更新命令的命令行执行的问题。 如果第一次更新失败,那么之后再次发出更新命令现在会使更新从其停止的地方继续先前的操作。
已解决的安全公告
CVE-2021-26423 .NET Core 拒绝服务漏洞
存在拒绝服务漏洞,在这种情况下,提供 WebSocket 终结点的 .NET (Core) 服务器应用程序在尝试读取单个 WebSocket 帧时可能会陷入无限循环。
CVE-2021-34485 .NET Core 信息泄漏漏洞
在 Linux 和 macOS 上,当工具为收集故障转储和按需转储而创建的转储具有全局读取权限时,会存在信息泄露漏洞。
CVE-2021-34532 ASP.NET 核心信息泄露漏洞
如果无法分析 JWT 令牌,则记录该令牌时存在信息泄漏漏洞。
Visual Studio 2017 版本 15.9.37
发布日期:2021 年 7 月 13 日
在15.9.37版本中解决的问题
- 修复了创建包含“使用 Unity 的游戏开发”工作负载和由中国提供的 Unity 编辑器可选组件的离线 Visual Studio 2017 安装布局的问题。
Visual Studio 2017 版 15.9.36
于 2021 年 5 月 11 日发布
15.9.36 版中修复的问题
- 修复了管理员创建新的 Visual Studio 布局以部署更新时导致更新失败的问题。 由于布局已移动位置,客户端计算机更新将失败。
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 诊断中心标准收集器服务特权提升漏洞
当诊断中心标准收集器错误处理数据操作时,存在特权提升漏洞。
Visual Studio 2017 v15.9.34
发布时间:2021 年 3 月 9 日
15.9.34 版中已修复的问题
已解决的安全公告
CVE-2021-21300 Git for Visual Studio 远程代码执行漏洞
Visual Studio 克隆恶意存储库时存在远程代码执行漏洞。
CVE-2021-26701 .NET Core 远程代码执行漏洞
由于文本编码的执行方式,.NET 5 和 .NET Core 中存在远程代码执行漏洞。
Visual Studio 2017 版本 15.9.33
于 2021 年 2 月 10 日发布
15.9.33 版修复的问题
Visual 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 上运行的系统中。
Visual 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 时,存在远程代码执行漏洞。
Visual Studio 2017 版本 15.9.30
发布时间:2020 年 12 月 8 日
15.9.30 版本中修复的问题
- 修复了在编译调用采用 C++/CLI 泛型参数的函数时 C++ 编译器崩溃的问题。
已解决的安全公告
CVE-2020-17156 Visual Studio 远程代码执行漏洞
Visual Studio 克隆恶意存储库时存在远程代码执行漏洞。
Visual Studio 2017 版本 15.9.29
于 2020 年 11 月 20 日发布
15.9.29版中修复的问题
已解决的安全公告
CVE-2020-17100 Visual Studio 篡改漏洞
当用于 Visual Studio 的 Python 工具创建 python27 文件夹时,存在篡改漏洞。 成功利用此漏洞的攻击者可在提升的上下文中运行进程。
Visual Studio 2017 版本 15.9.28
于 2020 年 10 月 13 日发布
版本 15.9.28 中修复的问题
- .NET Core SDK 2.1.519 已更新为 Visual Studio 2019。
Visual Studio 2017 版本 15.9.27
于 2020 年 9 月 8 日发布
修复于 15.9.27 版本中的问题
- 在修复或升级期间,如果不再支持的 .NET Core 版本在 VS 安装程序之外被删除,将不会重新安装。
已解决的安全公告
CVE-2020-1130 诊断中心标准数据收集器权限提升漏洞
如果诊断中心标准收集器对数据操作的处理不当,就会存在特权提升漏洞。 成功利用此漏洞的攻击者可在提升的上下文中运行进程。
如果诊断中心标准收集器对文件操作的处理不当,就会存在特权提升漏洞。 成功利用此漏洞的攻击者可在提升的上下文中运行进程。
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,并对其名称进行百分号编码。
Visual Studio 2017 版本 15.9.26
于 2020 年 8 月 11 日发布
15.9.26 版中修复的问题
已解决的安全公告
CVE-2020-1597 ASP.NET 核心拒绝服务漏洞
当 ASP.NET Core 不当处理 Web 请求时,会出现拒绝服务漏洞。 如果攻击者成功利用此漏洞,可能会导致对 ASP.NET Core Web 应用程序拒绝服务。 无需身份验证即可远程利用漏洞。
Visual Studio 2017 版本 15.9.25
于 2020 年 7 月 14 日发布
15.9.25 版修复的问题
- 使用 V15.9 调用虚函数的编译器 CodeGen 回归
- 1.0 和 2.0 .NET Core 运行时在安装程序 UI 中被标记为“不支持”,并在所有场景中都设置为可选。
已解决的安全公告
CVE-2020-1393 诊断中心标准收集器服务特权提升漏洞
当 Windows 诊断中心标准收集器服务无法正确清理输入时,存在特权提升漏洞,从而导致不安全的库加载行为。
CVE-2020-1416 Visual Studio 特权提升漏洞
加载软件依赖项时,Visual Studio 中存在特权提升漏洞。 成功利用此漏洞的本地攻击者可能会在当前用户的上下文中注入任意代码以运行。
CVE-2020-1147 .NET Core 拒绝服务漏洞
未经过身份验证的远程攻击者可能通过向 ASP.NET Core 应用程序或其他分析特定 XML 类型的应用程序发布特制请求来利用此漏洞。 安全更新通过限制允许在 XML 有效负载中存在的类型来解决漏洞。
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 更新说明,请参阅发行说明。
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 Core 拒绝服务漏洞
远程未经身份验证的攻击者可以通过向 .NET Core 应用程序发出特制的请求来利用此漏洞。 安全更新通过更正 .NET Core Web 应用程序处理 Web 请求的方式来解决漏洞。
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 Extension Installer 服务不当处理文件操作时,会出现特权提升漏洞。 成功利用了此漏洞的攻击者可使用已提升的权限删除任意位置的文件。
CVE-2020-5260 由于对 URL 的验证不足,Git for Visual Studio 存在凭据泄漏漏洞
当专门创建的 URL 被分析并发送至凭据帮助程序时,会出现凭据泄露漏洞。 这可能会导致凭据被发送到错误的主机。
Visual Studio 2017 版本 15.9.21
于 2020 年 3 月 10 日发布
15.9.21 版已修复的问题
- 修复了使用脱机安装程序时,无法在非企业版的 Visual Studio 2017 上安装 .NET 性能分析工具的错误。
- 修复了 C++ 编译器的一个 bug,其中 decltype 中的 static_cast 无法正确求值。 为了最大程度地减少对现有代码库的干扰,在 VS2017 中,当新添加的 /d1decltypeIdentityConversion 开关被启用时,此修复开始生效。
- C++ 编译器中的新 Spectre 缓解选项:
[/cpp/build/reference/qspectre-load /Qspectre-load</a> & [/cpp/build/reference/qspectre-load-cf /Qspectre-load-cf</a>,用于强化推理负载。
已解决的安全公告
CVE-2020-0793 / CVE-2020-0810 诊断中心标准收集器服务特权提升漏洞
如果诊断中心标准收集器处理文件操作不当,或者 Windows 诊断中心标准收集器服务无法正确清理输入,则存在特权提升漏洞。
CVE-2020-0884 在创建 Outlook Web 外接程序时存在欺骗漏洞
如果启用了多重身份验证,则在创建 Outlook Web 外接程序时将存在欺骗漏洞
Visual Studio 2017 版本 15.9.20
于 2020 年 2 月 11 日发布
15.9.20 版本中修复的问题
- SQL Server 测试配置错误
- 修复了客户对表数据进行排序时导致崩溃的 SQL Server 对象资源管理器。
Visual Studio 2017 版本 15.9.19
于 2020 年 1 月 14 日发布
15.9.19版中修复的问题
- 解决了C++ 优化器中的一个问题:写入到调用中的未知内存对调用方的影响不正确。
已解决的安全公告
CVE-2020-0602 ASP.NET 核心拒绝服务漏洞
远程未经身份验证的攻击者可以通过向 ASP.NET Core 应用程序发出特制的请求来利用此漏洞。 安全更新通过更正 ASP.NET Core Web 应用程序处理 Web 请求的方式来解决漏洞。
CVE-2020-0603 ASP.NET Core 远程代码执行漏洞
远程未经身份验证的攻击者可以通过向 ASP.NET Core 应用程序发出特制的请求来利用此漏洞。 此安全更新通过纠正 ASP.NET Core Web 应用程序处理内存的方式解决此漏洞。
Visual Studio 2017 版本 15.9.18
发布时间:2019 年 12 月 10 日
15.9.18版中修复的问题
- 可能允许缓解 Visual Studio 中与 Per-Monitor 感知相关的崩溃
已解决的安全公告
CVE-2019-1349 Git for Visual Studio 远程执行漏洞,因为对子模块名称的限制过于宽松
当 Git 遇到同级子模块目录子模块名称冲突时,存在远程代码执行漏洞。 成功利用此漏洞的攻击者可以在目标计算机上远程执行代码。 安全更新通过采用新版本的 Git for Windows 来解决漏洞,该版本要求子模块克隆的目录为空。
CVE-2019-1350 Git for Visual Studio 中由于命令行参数引用错误导致的远程执行漏洞
Git 使用递归克隆过程中的特定引用以及 SSH URL 解释命令行参数时,存在远程代码漏洞。 成功利用此漏洞的攻击者可以在目标计算机上远程执行代码。 安全更新通过采用 Windows 的新版本 Git 来解决漏洞,此版本修复了这一问题。
CVE-2019-1351 Visual Studio 中的 Git 存在任意文件覆盖漏洞,原因是在克隆时使用了非字母驱动器名称
当非字母开头的驱动器名称绕过 git clone中的安全检查时,Git 中存在任意文件覆盖漏洞。 成功利用此漏洞的攻击者可以写入目标计算机上的任意文件。 安全更新通过采用 Windows 的新版本 Git 来解决漏洞,此版本修复了这一问题。
CVE-2019-1352 Git for Visual Studio 远程代码执行漏洞,由于对 NTFS 备用数据流的认识不足
通过 NTFS 备用数据流克隆和写入 .git/ 目录时,Git 中存在远程代码执行漏洞。 成功利用此漏洞的攻击者可以在目标计算机上远程执行代码。 安全更新通过采用新版本的 Git for Windows 来解决漏洞,该版本已注意到 NTFS 备用数据流。
CVE-2019-1354 Git for Visual Studio 存在任意文件覆盖漏洞,原因是不拒绝写出包含反斜杠的已跟踪文件
带有反斜杠和恶意符号链接的树条目突破工作树时,Git 中存在任意文件覆盖漏洞。 成功利用此漏洞的攻击者可以写入目标计算机上的任意文件。 安全更新通过采用不允许反斜杠这种使用的新版本的 Git for Windows 来解决漏洞。
CVE-2019-1387 由于在递归克隆中对子模块名称的验证过于宽松,导致 Git for Visual Studio 出现远程执行漏洞
当对子模块进行递归克隆时,Git 中存在远程代码执行漏洞。 成功利用此漏洞的攻击者可以在目标计算机上远程执行代码。 该安全更新通过使用新版本的 Git for Windows 来解决该漏洞,该版本加强了对子模块名称的验证。
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/803 和 npmjs.com/advisories/886。 这些 NPM 包的更新版本包含在此版本的 Visual Studio 中。
Visual Studio 2017 版本 15.9.16
于 2019 年 9 月 10 日发布
15.9.16 版中已修复的问题
- 程序集与函数 的代码不匹配
- System.InvalidProgramException:公共语言运行时检测到程序无效。 检测 x64 项目时
- noexcept 代码的跨 EH 模式内联导致意外行为
- 更正了 HTML Help Workshop 无法修复的问题。
已解决的安全公告
CVE-2019-1232 诊断中心标准收集器服务特权提升漏洞
当诊断中心标准收集器服务错误地模拟特定文件操作时,会出现权限提升漏洞。 成功利用此漏洞的攻击者可能会获得提升的权限。 对易受攻击的系统拥有非特权访问权限的攻击者可利用此漏洞。 安全更新通过确保诊断中心标准收集器服务正确模拟文件操作来解决漏洞。
CVE-2019-1301 .NET Core 中的拒绝服务漏洞
.NET Core 未正确处理 Web 请求时,存在拒绝服务漏洞。 如果攻击者成功利用此漏洞,可能会导致对 .NET Core Web 应用程序拒绝服务。 无需身份验证即可远程利用漏洞。
此更新通过更正 .NET Core Web 应用程序处理 Web 请求的方式来解决漏洞。
Visual Studio 2017 版本 15.9.15
于 2019 年 8 月 13 日发布
15.9.15 版中已修复的问题事项
- 为了在 Windows XP 上持续部署,我们更新了 VC Redist 软件包的签名。 为了安装更新的 VC++ 可再发行组件包,此修复程序可能需要重启计算机。
- 修复了 GoToDefinition 不适用于 cshtml 文件的脚本块中的 JavaScript 的问题。
- 调用 pmr monotonic_buffer_resource 函数释放将损坏内存。
- 修复某些 C++ 项目中升级到 15.9.13 版本时的 HRESULT E_FAIL 生成错误
已解决的安全公告
CVE-2019-1211 Git for Visual Studio 特权提升漏洞
当 Git for Visual Studio 错误地分析配置文件时,其中存在特权提升漏洞。 成功利用漏洞的攻击者可以在另一个本地用户的上下文中执行代码。 若要利用漏洞,经过身份验证的攻击者需要在完全安装应用程序之前修改系统上的 Git 配置文件。 然后,攻击者需要说服系统上的其他用户执行特定的 Git 命令。 更新通过更改编辑配置文件所需的权限来解决该问题。
Visual Studio 2017 版本 15.9.14
发布日期:2019 年 7 月 9 日
15.9.14 版中修复的问题
- 修复了切换分支时导致 Visual Studio 2017 崩溃的 bug。
- 修复了在代码分析期间导致内部编译器错误(“fbtctree.cpp”,第 5540 行)的错误。
- 修复了 Ryzen 处理器上 memcpy/memset 函数的性能下降问题。
- 更新了 Service Fabric 工具以支持 6.5 Service Fabric 版本。
- 启用了屏幕阅读器,以在 .NET 4.8 上正常发布 TeamExplorer 的通知。
- VS2017 15.8 内部编译器错误 ('msc1.cpp', line 1518):预处理器和 #import 之间的冲突
- ICE 位于 PREfast 19.16.27023.1 (15.9 RTW)中。
已解决的安全公告
.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 文件,则会显示一条消息,说明该类型是未经授权的。
Visual Studio 2017 版本 15.9.13
发布日期:2019 年 6 月 11 日
15.9.13 版本中修复的已知问题
- 修复了导致代码分析在某些 C++ 项目上停止运行的 bug。
- 修复了架构比较工具中的错误,其中添加具有空白架构的表时操作失败,却显示为成功。
- 修复了当所选语言版本低于最新安装版本时的 TypeScript 构建问题。
- 修复了数据库未解决的对象引用错误。
- 改进了加载 Visual Studio 时的性能问题。
- 调试时,未在“诊断工具”窗口的“内存使用工具”中为 C++ 本机代码创建任何快照。
- SSDT 添加了硬编码的 mmsdb 和/或 master.dacpac 路径
- SSDT 添加了对系统数据库的引用:“ArtifactReference”和“HintPath”互换导致在使用 MSBuild 时构建失败
Visual Studio 2017 版本 15.9.12
于 2019 年 5 月 14 日发布
已修复的问题在15.9.12版中
- 访问权限错误 C++ /CLI 15.9.5 ISO C++ 最新草案标准,自 15.9.5 以来。
- 加载此属性页时出错 (CSS & JSON)。
- Visual Studio 2017 编辑 package.json 时出现故障。
- 打开 package.json 时锁定 Visual Studio。
- PGO Code Gen Bug - 访问内存 OOB 的矢量化指令。
- 递归存储桶拆分例程中的错误代码生成。
- 15.8.9 中的编译器优化 bug。
- 已修复了在分布式生成系统(如 IncrediBuild)中使用 PCH、/Zi 和 /GL 时发生的链接器错误 LNK4020。 C++ 编译器后端现在在生成跨模块内联的调试信息时,可以将 CIL OBJ 与其相应的编辑器生成的 PDB 正确关联。
已解决的安全公告
CVE-2019-0727 诊断中心标准收集器服务特权提升漏洞
当诊断中心标准收集器服务不正确地执行某些文件操作时,存在特权提升漏洞。 成功利用此漏洞的攻击者可以删除任意位置的文件。 若要利用此漏洞,攻击者需要对易受攻击的系统进行无特权访问。 安全更新通过保护诊断中心标准收集器执行文件操作的位置来解决漏洞。
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 编辑器中修复了未经处理的异常。
- 我们更新了 scaffolding 包,以安装适用于 .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 安装程序的双重签名。
Visual Studio 2017 版本 15.9.10
发布时间:2019 年 3 月 25 日
15.9.10 版中修复的问题
- 修复了 [配置 Web 代理时使用 Docker 进行调试的问题。](https://github.com/Microsoft/DockerTools/issues/600
- 在使用 Docker 进行调试时,您将体验到改进的错误处理,针对与驱动器共享配置相关的失败(例如过期的凭据)。
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 本机工具 2.2
(UWP 6.2.4)中修复了影响 UWP 客户的一些 .NET 本机问题。 - 我们更正了 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++ Redistributable Installer 在加载 DLL 文件之前验证输入的方式来解决漏洞。
CVE-2019-0757 .NET Core NuGet 篡改漏洞
在 Linux 或 Mac 环境中执行时,NuGet 软件中存在篡改漏洞。 成功利用漏洞的攻击者可以在当前用户的上下文中运行任意代码。 如果当前用户使用管理用户权限登录,攻击者可以控制受影响的系统。 然后,攻击者可以安装程序;查看、更改或删除数据;或创建具有完全用户权限的新帐户。 与拥有管理员权限的用户相比,系统中那些帐户具有较少用户权限的用户受到的影响会更小。 要利用此漏洞,攻击者必须能够以该计算机上任意其他用户的身份登录。 此时,攻击者将能够替换或添加到当前用户帐户中由 NuGet 还原操作创建的文件。
.NET Core 更新现已发布,并包含在此 Visual Studio 更新中。 该安全更新处理了该项漏洞,它更正了 NuGet 还原为提取到客户端计算机上的所有文件创建文件权限的方式。 有关包的详细信息,请参阅 .NET Core 发行说明。
Visual Studio 2017 版本 15.9.8
于 2019 年 3 月 5 日发布
15.9.8 版中修复的问题
Visual Studio 2017 版本 15.9.7
于 2019 年 2 月 12 日发布
15.9.7 版中修复的问题
- 展开变量时崩溃!
- /DEBUG:FASTLINK + C7 + PCH 导致调试器崩溃。
- 本机 C++ 应用程序崩溃,因为 VS 2017 15.9.2 中的堆栈已损坏。
- 发布模式代码不正确。
- Xamarin 未观察到任务异常 WebRequest。
- 链接选项 /SOURCELINK 似乎不起作用。 该修复解决了托管 C++ 调试中的源链接问题。
- 修复了调试时 AVX/MPX/AVX512 寄存器损坏的问题。
- 更新了用于 C++ UWP DesktopBridge 应用程序的 Microsoft.VCLibs.140.00.UWPDestkop 框架包,添加了对 ARM64 的支持。
- 更正了 Microsoft.VCToolsVersion.default.props 中 VCToolsRedistVersion 的错误版本。
- 修正了 VC Redist 安装程序中的未签名嵌入式 dll。
- SSDT/Web 工具:修复了在波兰语、土耳其语和捷克语区域设置中 SQL LocalDB 未安装的问题。
- SSDT:我们修复了影响 SQL Server Analysis Services 的问题(点击 UI 时出现“未找到方法”异常)
- SSDT:我们修复了一个无障碍问题,该问题导致在使用 High-Contrast 模式时,表格内容在结果窗口中不可见。
已解决的安全公告
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 发行说明。
Visual Studio 2017 版本 15.9.6
于 2019 年 1 月 24 日发布
15.9.6 版中修复的问题
- 在中国无法成功安装 Unity 编辑器组件
- 从模板启动新 nanoFramework 项目。
- VS2017 更新后发生部署错误。
- Android 部署失败 - 错误 ADB0010。
- 德语转换错误:信息栏显示“会话意外关闭”。
- Visual Studio 2017 发生脱机布局问题:对于非 ENU 布局,无法从数据流加载。
- 扩展自动更新可能会使扩展处于禁用状态。
Visual Studio 2017 版本 15.9.5
发布日期:2019 年 1 月 8 日
15.9.5 版中修复的问题
- VSX1000:尚未向 MSBuild 提供足够的信息,以便与远程服务器建立连接。
- Visual C++ 2017 Redistributable for ARM64 无法通过 visualstudio.com 提供。
- VS 15.9 的 VC 运行时可再发行组件更新删除注册表项。此修补程序要求重启计算器来安装 VC++ Redistributable 包更新版的可能性更高。
- 在托管 C++ 中,“List”到“List”赋值的代码生成不正确。
- Visual Studio 15.9.4 更新后无法连接到 mac 生成主机。
-
增量生成中带有
AndroidAarLibrary项目的资源目录被遗漏。 - [大量外部程序集引用 - JNI 错误
(app bug):本地引用表溢出(max=512.)]((https://github.com/xamarin/xamarin-android/issues/2257) - Unity 编辑器已更新到 2018.3。 有关详细信息,请访问 Unity 网站。
- SSDT:我们使 SQL 项目可以支持构建在索引视图上带有非聚集列存储索引的架构。
- SSDT:我们修复了架构比较工具在生成脚本时出现的重大性能问题。
- SSDT:我们修复了架构比较工具中架构偏差检测的逻辑,该逻辑曾导致需进行新的比较以重新启用脚本和发布操作。
已解决的安全公告
CVE-2019-0546 Visual Studio 远程代码执行漏洞 Visual Studio 中存在远程代码执行漏洞时,C++编译器错误地处理C++构造的特定组合。 成功利用漏洞的攻击者可以在当前用户的上下文中运行任意代码。 如果当前用户使用管理用户权限登录,攻击者可以控制受影响的系统。 然后,攻击者可以安装程序;查看、更改或删除数据;或创建具有完全用户权限的新帐户。 与拥有管理员权限的用户相比,系统中那些帐户具有较少用户权限的用户受到的影响会更小。 本次安全更新通过更正 Visual Studio C++ 编译器处理某些 C++ 构造的方式来解决该漏洞。
Visual Studio 2017 版本 15.9.4
于 2018 年 12 月 11 日发布
15.9.4 版中修复的问题
- Visual Studio 15.9 在解决方案重新加载时重复加载已打开的文件。
- 所有用户现在可以通过团队资源管理器连接到本地 TFS 服务器。
- 在 GUI 生成期间(使用的是 Visual Studio 15.8.2),Visual Studio 15.8.3 不再为项目定义的项扩展 ItemDefinitionGroup 中的元数据。
- Visual Studio 对同一个文件有多个选项卡。
- System.ArgumentException:参数不正确。 (HRESULT 中的异常:0x80070057 (E_INVALIDARG))。
- 找不到 LNK4099 PDB。
- 资产目录为空。
- /analyze 对使用 /ZW 的 C++ 代码分析失败。
- C++ 编译器代码优化 bug。
- Xamarin.iOS 无法为图像视图选择图像资产。
- 引用包含资产目录中图像资产的共享项目的 iOS 项目无法在 Windows 上加载。
- VS 15.8.6 中的 iOS 初始屏幕上没有填充图像。
- 在 VS2017 15.8 中进行联合/位域赋值时可能会出现代码生成错误。
- 修复 C# UWP 应用商店 1201 提交问题。
- 修复 C# UWP 包创建错误APPX1101:有效负载包含两个或多个具有相同目标路径的文件“System.Runtime.CompilerServices.Unsafe.dll”。
- 错误 MT2002:生成 Xamarin.iOS 项目时,无法从“System.Threading.Tasks.Extensions...”解析“System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder”引用。
- 使用 AndroidClientHandler 时,无法重定向到相对 URL。
- 使用 C 编译器编译的未命名枚举的 typedef 的调试信息现已还原。
- 缓解 Spectre 的 delayimp.lib x86 版本现已构建,并启用了 /Qspectre 缓解措施。
- 为了缩短解决方案加载时间,更改了 Xamarin.iOS 项目中资产目录的加载方式。
- 我们已更新 Xamarin.Forms 模板以使用最新版本。
- 我们修复了通过 Kestrel 调试 ASP.NET 核心 Web 应用程序的问题,其中会显示错误消息“无法配置 HTTPS 终结点”。 未指定服务器证书...“。
- 现在,通过使用特定的应用设置,可以在 Visual Studio 应用程序服务中启用 AppInsights 站点扩展。
已解决的安全公告
CVE-2018-8599 诊断中心标准采集器服务权限提升漏洞
如果诊断中心标准收集器服务不正确地处理特定文件操作,就会存在特权提升漏洞。 成功利用此漏洞的攻击者可能会获得提升的权限。 若要利用此漏洞,攻击者需要对易受攻击的系统进行无特权访问。 安全更新通过确保诊断中心标准收集器服务正确模拟文件操作来解决漏洞。
Visual Studio 2017 版本 15.9.3
于 2018 年 11 月 28 日发布
在 15.9.3 版本中修复的问题
- Visual Studio 15.9 - 在解决方案重新加载时重复加载已打开的文件。
- Unity 项目和 Visual Studio 2017 15.9.x 中的重新加载和 IntelliSense 问题。
Visual Studio 2017 版本 15.9.2
于 2018 年 11 月 19 日发布
15.9.2 版中修复的问题
- MFC EXE(二进制)的大小比 VS 15.8 大五倍 (_MSC_VER = 1915)。
- 不支持“OPENSSH”密钥。
- Windows 放大镜无法再跟踪键盘光标。
- 分析失败,while 循环中出现立即调用的 lamba。
- Xamarin iOS Designer 在 15.9 和 Xamarin.iOS 12.2.1.10 上无法工作。
- 我们改进了大型C++项目的增量链接的可靠性。
- LNK2001“未解析的外部符号”错误现在已解决,这些错误与某些向量删除析构函数有关。
- 对于大量使用链式调用的内联函数(涉及 lambda 或本地类作为参数或返回类型)的代码,编译器性能得到了改进。
Visual 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 版中的主要新增功能摘要
- 现在可以导入和导出 安装配置文件,该配置文件指定应随 Visual Studio 实例一起安装哪些工作负载和组件。
- 使用新符号包格式 (.snupkg) 改进了 NuGet 包的调试体验。
- 调试器的回退功能现在已在 C++ 中向企业客户开放。
- C++ IntelliSense 现响应面向 Linux 的 CMake 和 MSBuild 项目的远程环境中的更改。
- 已对 UWP Desktop Bridge 框架包进行了更新并添加了对 ARM64 C++ 本机桌面方案的支持。
- 我们在 MSVC 15.9 编译器中添加了对 range-v3 库的支持。
- 修复了 F# 编译器和 F# 工具中的多个 bug。
- 为新的 TypeScript 功能的语义文件重命名和项目引用提供语言服务支持。
- 通过更新 Vue.js 模板并添加对使用 Jest 框架进行单元测试的支持,改进了 Node.js 开发。
- 添加了 SharePoint 2019 项目模板,可以将现有 SharePoint 2013 和 2016 项目迁移到 SharePoint 2019。
- Visual Studio Tools for Xamarin 现在支持 Xcode 10。
- 我们对 Xamarin.Android 生成性能进行了改进。
- 添加和改进了通用 Windows 平台开发人员适用的功能,其中包括 ARM64 支持、最新的预览版 SDK、更好的桌面桥接应用程序调试和 XAML 设计器改进。
- 对使用已经过身份验证的包源的体验进行了实质性的改善。
- 现支持针对基于 PackageReference 的项目的锁定文件以实现重复还原。
- 添加了对 NuGet 包的新许可证格式的支持。
- 我们在 Visual Studio 中引入了
NuGet 客户端策略,使你可以锁定环境,以便仅安装受信任的包。 - 我们使在 Visual Studio 内使用 .NET Core 的可预测性更高。
15.9 版中解决的首要问题
- 无法更改“查找所有引用”背景色。
- “Visual C++ 资源编辑器包”加载失败。
- 如果事先未手动保存 XAML 文件,则 VS2017 v15.8 版本不会启动。
- 安装失败 - 清单签名验证失败。
- 更新 15.8.6 中断 Installer Projects。
- 使用箭头键向上滚动会导致 Visual Studio 向上翻页。
- 更新到 15.8.1 后,调试过程中数据提示框无法显示。
- System.InvalidProgramException:公共语言运行时检测到无效的程序。
- 关闭 Visual Studio 后,解决方案资源管理器不再保持固定状态。
- 编辑器中的导航栏无法处理长方法名称。
- 启动 Blend 时出现编辑器包加载失败错误。
请参阅 Visual Studio 2017 版本 15.9 中修复的所有客户报告的问题。
15.9 版中的新增功能的详细信息
Visual Studio 2017 版本 15.9.0
发布日期:2018 年 11 月 13 日
15.9 版中的新增功能
Install
我们让你能够更为轻松地跨 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 个阻塞性错误之外,我们还为 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。 - 修复了一个 bug,即在编写适用于 .NET Standard 的类型提供程序时,使用
System.Void可能无法在设计时查找System.Void类型。 - 我们修复了一个 bug:在部分应用的区分联合构造函数与区分联合的注解或推断类型不匹配时,可能会发生内部错误。
- 我们在尝试获取表达式的地址(如访问属性)时修改了编译器错误消息,使其更清楚地表明它违反了
byref类型的范围规则。 - 修复了在对方法或函数部分应用
byref类型时,程序可能在运行时崩溃的错误。 此时会显示一条错误消息。 - 修复了
byref和引用类型(例如byref<int> option)的无效组合会在运行时失败且不发出错误消息的问题。 现在可发出错误消息。
F# 工具
- 我们解决了以下问题:使用 .NET Core SDK 生成的 F# 程序集的元数据未显示在 Windows 上的文件属性中。 现在,右键单击 Windows 上的程序集并选择“属性”即可查看此元数据。
- 我们修复了在 F# 源中使用
module global可能导致 Visual Studio 无响应的 bug。 - 我们修复了一个漏洞,该漏洞导致使用
inref<'T>的扩展方法不会显示在完成列表中。 - 修复了 .NET Framework F# 项目的“项目属性”中 TargetFramework 下拉列表为空的 bug。
- 我们修复了以下 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 迁移到新的项目模板。
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 工具在 Visual Studio 的正式版本中将默认仅使用在您计算机上安装的最新稳定版 .NET Core SDK。 对于将来的预览版,这些工具将仅使用预览版 .NET Core SDK。
已解决的问题
请参阅 Visual Studio 2017 版本 15.9 中修复的所有客户报告的问题。
已知问题
请参阅 Visual Studio 2017 版本 15.9 中的所有现有已知问题和可用解决方法。
Visual Studio 2017 发行说明历史记录
若要详细了解以往 Visual Studio 2017 版本的相关信息,请参阅 Visual Studio 2017 发行说明历史记录页。
Visual Studio 2017 版本 15.9 发行说明