本文列出了 Visual Studio 2019 及更高版本中已弃用或已移除的 C++ 功能的非详尽列表。 有关最新版本 Visual Studio 中 C++ 的中断更改和符合性改进的信息,请参阅 Visual Studio 中的 C++ 一致性改进。
支持 Windows XP 开发
Visual Studio 2019 及更高版本不包括为 Windows XP 创建代码的当前生成工具支持。 使用 Visual Studio 2017 中提供的v141_xp生成工具对 Windows XP 开发的支持仍作为 Visual Studio 安装程序中的可选组件提供。 有关如何安装 v141 Windows XP 平台工具集的信息,请参阅配置适用于 Windows XP 的程序。
Visual Studio 2026(MSVC 14.51)
- 以下实验性协程头文件现已弃用:
<experimental/coroutine>、<experimental/generator>和<experimental/resumable>。 使用<coroutine>头文件迁移到标准 C++20 协程。
已删除的功能
已删除以下已弃用的非标准功能:
-
TR1 包括
std::tr1命名空间、旧array::assign()引擎和旧<random>引擎和分发版。 自 VS 2017 15.5(2017 年 12 月)以来已弃用。 -
_ALLOW_RTCc_IN_STL已删除宏。 标准模板库不支持/RTCc编译器选项,但仍/RTCs/RTCu//RTC1受支持。 -
<hash_map>和<hash_set>. 自 VS 2015(2015 年 7 月)以来已弃用。 -
<experimental/filesystem>。 自 VS 2019 16.3(2019 年 9 月)以来已弃用。 -
stdext::checked_array_iterator和stdext::unchecked_array_iterator. 对于 C++17 及更高版本,自 VS 2022 17.8(2023 年 11 月)起已弃用。 -
basic_istream::ipfx()/isfx()和basic_ostream::opfx()/osfx(). 自 VS 2022 17.9(2024 年 2 月)起,对于 C++17 及更高版本已弃用。 -
locale::empty()。 自 VS 2022 17.14(2025 年 5 月)以来已弃用。
Visual Studio 2022
支持将项目从 Visual C++ 6 版本升级
Visual Studio 2022 及更高版本不支持从 Visual C++ 6 工作区 (.dsw) 和项目 (.dsp) 文件升级。 Visual Studio 不再将 .dsw 和 .dsp 文件扩展名注册为 Visual Studio 文件类型。 若要升级具有这些扩展的项目,请先使用 Visual Studio 2019 将项目升级到新式解决方案 (.sln) 和 C++ 项目 (.vcxproj) 文件。 然后使用当前版本的Visual Studio再次升级项目。
Visual Studio 2026
支持 C++AMP、ARM32 工具链和 /DEBUG:FASTLINK
Visual Studio 2026 及更高版本不支持 C++AMP、ARM32 工具链和 /DEBUG:FASTLINK。 如果正在使用 /DEBUG:FASTLINK,请切换到 /DEBUG:FULL 改进调试支持。 需要面向 ARM32 的开发人员可以继续使用 Visual Studio 2022 v143 生成工具,如本 Microsoft博客文章中所述。
不推荐使用 /await
MSVC 编译器开关 /await 即将弃用,将在将来的版本中删除。 此开关启用了使用头文件<experimental/coroutine>的C++协程的早期草案实现。 开发人员应使用 C++20 及更高版本中提供的 <coroutine> 头文件,以过渡到标准C++协程。 对于 C++14/17 项目,请使用 /await:strict (未弃用)访问标准 <coroutine> 标头,而无需启用其他C++20 功能。
Microsoft C++ 生成工具支持 Windows 7、8 和 8.1
在 Visual Studio 2026 中,Microsoft C++ (MSVC) 生成工具提高了受支持的最低作系统要求。 在此版本中,构建工具不再面向:
- Windows 7/ Windows Server 2008 R2
- Windows 8/Windows Server 2012
- Windows 8.1/Windows Server 2012 R2
若要使用最新的C++工具生成应用程序,目标平台必须是 Windows 10 或 Windows Server 2016 (或更高版本)。
这些更改允许更好的性能、增强的安全性以及与最新的 Windows 平台功能保持一致。
支持使用 C++ 和 Embedded 和 IoT 工具进行移动开发
从 Visual Studio 2026(版本 18.0)开始,Visual Studio 安装程序中面向 iOS 和 Android 的 C++ 工作负载的 移动开发 以及 嵌入式和 IoT 工具(包括 RTOS 查看器、串行监视器、外围设备查看器和 ST 项目导入)不再受支持,将在将来的更新中删除。 但是,移动开发中列出的 Android NDK 继续支持C++工作负载。