{"id":35857,"date":"2025-10-30T16:53:05","date_gmt":"2025-10-30T16:53:05","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/cppblog\/?p=35857"},"modified":"2025-11-07T19:37:33","modified_gmt":"2025-11-07T19:37:33","slug":"upgrading-c-projects-to-visual-studio-2026","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/cppblog\/upgrading-c-projects-to-visual-studio-2026\/","title":{"rendered":"Upgrading C++ Projects to Visual Studio 2026"},"content":{"rendered":"<p>With <a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/visual-studio-2026-insiders-is-here\/\">Visual Studio 2026 version 18.0<\/a> getting closer to General Availability (GA), we want to share with you how you can upgrade your projects from your current versions of Visual Studio and the Microsoft C++ (MSVC) Build Tools to the latest versions. The new IDE ships with the <strong>v145 platform toolset<\/strong> for MSBuild C++ projects and <strong>MSVC Build Tools version 14.50<\/strong>. In this post, I will walk you through the process step-by-step, while explaining some of the features available to you to make the transition as painless as possible. Overall, our goal is to help you <strong>get current and stay current<\/strong>. You can also review the updated <a href=\"https:\/\/learn.microsoft.com\/cpp\/porting\/visual-cpp-porting-and-upgrading-guide\">porting and upgrading guide<\/a> in our documentation.<\/p>\n<h2>Step 1: Try out Visual Studio 2026<\/h2>\n<p>As of <em>September 9, 2025<\/em>, you can <a href=\"https:\/\/visualstudio.microsoft.com\/downloads\/\">install Visual Studio 2026 Insiders<\/a>. Once the stable release of Visual Studio 2026 ships, you will be able to download it from the same link. You can choose between <a href=\"https:\/\/visualstudio.microsoft.com\/vs\/compare\/\">Visual Studio Community, Professional, or Enterprise<\/a> as before. <strong>Visual Studio instances can be installed side-by-side<\/strong> from the <em>Visual Studio Installer<\/em> application, so you can keep your current version of Visual Studio while exploring 2026.<\/p>\n<p>If you are not ready to fully migrate yet, you can <strong>load your existing Visual Studio MSBuild (.sln\/.vcxproj) projects in Visual Studio 2026<\/strong> and retain compatibility with your existing copy of Visual Studio without having to upgrade the project files.<\/p>\n<h2>Step 2: Migrate to Visual Studio 2026, stay on existing MSVC Build Tools<\/h2>\n<p>If you\u2019re satisfied with your Visual Studio 2026 experience and are ready to use it daily, you can do so without needing to use the latest MSVC Build Tools. The installer for Visual Studio 2026 gives you the ability to <strong>install your existing C++ build tools<\/strong> going back as far as Visual Studio 2015. You can select multiple components\/versions to include for your Visual Studio instance.<\/p>\n<p><img decoding=\"async\" width=\"744\" height=\"636\" class=\"wp-image-35861\" src=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2025\/10\/a-screenshot-of-a-computer-ai-generated-content-m.webp\" alt=\"A screenshot of a computer AI-generated content may be incorrect.\" srcset=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2025\/10\/a-screenshot-of-a-computer-ai-generated-content-m.webp 744w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2025\/10\/a-screenshot-of-a-computer-ai-generated-content-m-300x256.webp 300w\" sizes=\"(max-width: 744px) 100vw, 744px\" \/><\/p>\n<p>However, there is an even easier way to get started in Visual Studio 2026 and stay on your existing MSVC toolset version.<\/p>\n<h3>Install missing tools with Visual Studio setup assistant<\/h3>\n<p>You can use the <strong>new<\/strong> <strong>setup assistant <\/strong>experience to <strong>install missing tools and\/or retarget any projects<\/strong> that are ready to move forward. You do not have to install and upgrade everything all at once.<\/p>\n<p><img decoding=\"async\" width=\"1436\" height=\"780\" class=\"wp-image-35862\" src=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2025\/10\/a-screenshot-of-a-computer-ai-generated-content-m-1.webp\" alt=\"A screenshot of a computer AI-generated content may be incorrect.\" srcset=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2025\/10\/a-screenshot-of-a-computer-ai-generated-content-m-1.webp 1436w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2025\/10\/a-screenshot-of-a-computer-ai-generated-content-m-1-300x163.webp 300w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2025\/10\/a-screenshot-of-a-computer-ai-generated-content-m-1-1024x556.webp 1024w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2025\/10\/a-screenshot-of-a-computer-ai-generated-content-m-1-768x417.webp 768w\" sizes=\"(max-width: 1436px) 100vw, 1436px\" \/><\/p>\n<p>This assistant will appear by default when you load your solution for the first time, or you can right-click the solution and select<em> Retarget solution<\/em>. To stay on a project\u2019s existing toolset version and install any missing tools, choose the \u201cInstall missing Platform Toolset\u2026\u201d option. You can also click the <em>Install All<\/em> button to instantly set all the dropdowns to that option. If you already have the correct toolset version installed and want to stay on it, no action needs to be taken.<\/p>\n<p>You will also see options to retarget your projects. You can go back and select these later when you are ready to move your projects and toolset version forward to the latest. Retargeting will update the <em>Windows SDK Version<\/em>, <em>Platform Toolset<\/em>, and <em>MSVC Build Tools Version<\/em> project properties. You may select what to do for each project or retarget all of them at once with the <em>Retarget all<\/em> button.<\/p>\n<p><strong>Fundamentally,<\/strong> <strong>the setup assistant allows you to upgrade gradually at your own pace<\/strong>.<\/p>\n<h2>Step 3: Upgrade MSVC Build Tools to version 14.50<\/h2>\n<p>When you decide it\u2019s the right time to upgrade and explore the latest MSVC toolset, the process is designed to be as straightforward as possible. Visual Studio aims to support you to get current and stay current on the latest tools.<\/p>\n<h3>Why you should upgrade your C++ build tools<\/h3>\n<p>By upgrading, you get access to new <a href=\"https:\/\/devblogs.microsoft.com\/cppblog\/c-language-updates-in-msvc-build-tools-v14-50\/\">C++ language updates and bug fixes in the Microsoft C++ compiler<\/a> and <a href=\"https:\/\/github.com\/microsoft\/STL\/wiki\/Changelog\">standard library<\/a>. In addition, if you upgrade, you get runtime performance improvements:<\/p>\n<ul>\n<li>Up to <strong>+6%<\/strong>, as measured on Unreal Engine\u2019s City Sample RenderThread<\/li>\n<\/ul>\n<p><img decoding=\"async\" width=\"1050\" height=\"426\" class=\"wp-image-35863\" src=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2025\/10\/a-graph-of-a-bar-ai-generated-content-may-be-inco.webp\" alt=\"A graph of a bar AI-generated content may be incorrect.\" srcset=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2025\/10\/a-graph-of-a-bar-ai-generated-content-may-be-inco.webp 1050w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2025\/10\/a-graph-of-a-bar-ai-generated-content-may-be-inco-300x122.webp 300w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2025\/10\/a-graph-of-a-bar-ai-generated-content-may-be-inco-1024x415.webp 1024w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2025\/10\/a-graph-of-a-bar-ai-generated-content-may-be-inco-768x312.webp 768w\" sizes=\"(max-width: 1050px) 100vw, 1050px\" \/><\/p>\n<ul>\n<li>Up to <strong>+3%<\/strong>, as measured on Unreal Engine\u2019s City Sample GameThread<\/li>\n<\/ul>\n<p><img decoding=\"async\" width=\"1066\" height=\"426\" class=\"wp-image-35864\" src=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2025\/10\/a-graph-of-a-bar-chart-ai-generated-content-may-b.webp\" alt=\"A graph of a bar chart AI-generated content may be incorrect.\" srcset=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2025\/10\/a-graph-of-a-bar-chart-ai-generated-content-may-b.webp 1066w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2025\/10\/a-graph-of-a-bar-chart-ai-generated-content-may-b-300x120.webp 300w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2025\/10\/a-graph-of-a-bar-chart-ai-generated-content-may-b-1024x409.webp 1024w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2025\/10\/a-graph-of-a-bar-chart-ai-generated-content-may-b-768x307.webp 768w\" sizes=\"(max-width: 1066px) 100vw, 1066px\" \/><\/p>\n<h3>Retarget your projects with the setup assistant<\/h3>\n<p>As mentioned previously, the setup assistant can help you retarget your projects, so they build with the latest MSVC Build Tools.<\/p>\n<p><img decoding=\"async\" width=\"1444\" height=\"824\" class=\"wp-image-35865\" src=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2025\/10\/a-screenshot-of-a-computer-program-ai-generated-c.webp\" alt=\"A screenshot of a computer program AI-generated content may be incorrect.\" srcset=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2025\/10\/a-screenshot-of-a-computer-program-ai-generated-c.webp 1444w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2025\/10\/a-screenshot-of-a-computer-program-ai-generated-c-300x171.webp 300w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2025\/10\/a-screenshot-of-a-computer-program-ai-generated-c-1024x584.webp 1024w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2025\/10\/a-screenshot-of-a-computer-program-ai-generated-c-768x438.webp 768w\" sizes=\"(max-width: 1444px) 100vw, 1444px\" \/><\/p>\n<p>Below is a quick video demonstration of the setup assistant in action to install missing tools and retarget projects.<\/p>\n<p><div style=\"width: 640px;\" class=\"wp-video\"><video class=\"wp-video-shortcode\" id=\"video-35857-1\" width=\"640\" height=\"360\" preload=\"metadata\" controls=\"controls\"><source type=\"video\/mp4\" src=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2025\/10\/setup-assistant.mp4?_=1\" \/><a href=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2025\/10\/setup-assistant.mp4\">https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2025\/10\/setup-assistant.mp4<\/a><\/video><\/div><\/p>\n<p>There are the new MSVC components in the Visual Studio Installer.<\/p>\n<p><img decoding=\"async\" width=\"378\" height=\"152\" class=\"wp-image-35866\" src=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2025\/10\/a-black-screen-with-white-text-ai-generated-conte.webp\" alt=\"A black screen with white text AI-generated content may be incorrect.\" srcset=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2025\/10\/a-black-screen-with-white-text-ai-generated-conte.webp 378w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2025\/10\/a-black-screen-with-white-text-ai-generated-conte-300x121.webp 300w\" sizes=\"(max-width: 378px) 100vw, 378px\" \/><\/p>\n<p>Components marked as \u201cLatest\u201d will be updated to the latest available version when you update the IDE, while components with a major and minor version number will remain on that minor version and only receive servicing updates while in support.<\/p>\n<h3>C++ binary compatibility for step-by-step upgrades<\/h3>\n<p>We\u2019re announcing that <strong>MSVC Build Tools version 14.50 preserves binary compatibility<\/strong> with any code built with MSVC tools shipped in Visual Studio 2015 or later. You don\u2019t need to rebuild all your projects and external dependencies all at once. The <strong>Microsoft Visual C++ v14 Redistributable<\/strong>, which ships the <strong>Visual C++ v14 Runtime<\/strong>, also continues to maintain this binary compatibility. Note: there are a few restrictions with the binary compatibility experience, which you should review <a href=\"https:\/\/learn.microsoft.com\/cpp\/porting\/binary-compat-2015-2017\">in our documentation<\/a>.<\/p>\n<p>As a result of this binary compatibility, <strong>you can upgrade your code step-by-step, component by component<\/strong>. You can also update your main application while your external dependencies remain on an older version. For your third party open-source dependencies, you can use the <a href=\"https:\/\/vcpkg.io\/\">vcpkg package manager<\/a> to rebuild them with the latest toolset or any previous MSVC toolset shipping in Visual Studio 2026.<\/p>\n<h2>Step 4: Upgrade MSVC with GitHub Copilot app modernization for C++<\/h2>\n<p>But wait, there\u2019s more! <a href=\"https:\/\/devblogs.microsoft.com\/cppblog\/new-github-copilot-capabilities-for-c-developers-upgrade-msvc-improve-build-performance-and-refactor-c-code\/#upgrade-msvc-with-github-copilot-app-modernization-for-c++\">GitHub Copilot app modernization for C++<\/a> helps you migrate your C++ projects to the latest MSVC Build Tools. After you retarget your project, you may need to make additional source code or project system changes due to deprecations or fixes in the newer toolset. Copilot will help you iterate through these changes until all warnings and errors are resolved. GitHub Copilot app modernization for C++ is coming soon to Visual Studio 2026 in Private Preview. Check out our announcement post for more information and <a href=\"https:\/\/aka.ms\/cpp-agents-private-preview\">join the waitlist<\/a>.<\/p>\n<h2>Get Current, Stay Current<\/h2>\n<p>Our goal is for you to have a painless upgrade to Visual Studio 2026 and MSVC Build Tools version 14.50. We also recommend taking a look at the updated <a href=\"https:\/\/learn.microsoft.com\/cpp\/porting\/visual-cpp-porting-and-upgrading-guide\">porting and upgrading guide<\/a> in our documentation.\u00a0If you run into any issues with your upgrade, please don\u2019t hesitate to contact us at <a href=\"mailto:vcupgrade@microsoft.com\">vcupgrade@microsoft.com<\/a> and feel free to drop a comment below. If you encounter any issues or have suggestions regarding Visual Studio 2026 or our latest C++ build tools, please share your feedback via the <em>Help &gt; Send Feedback<\/em> experience in Visual Studio.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>With Visual Studio 2026 version 18.0 getting closer to General Availability (GA), we want to share with you how you can upgrade your projects from your current versions of Visual Studio and the Microsoft C++ (MSVC) Build Tools to the latest versions. The new IDE ships with the v145 platform toolset for MSBuild C++ projects [&hellip;]<\/p>\n","protected":false},"author":1063,"featured_media":35743,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[270,1],"tags":[282,185,3957],"class_list":["post-35857","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-announcement","category-cplusplus","tag-msvc","tag-visual-studio","tag-visual-studio-2026"],"acf":[],"blog_post_summary":"<p>With Visual Studio 2026 version 18.0 getting closer to General Availability (GA), we want to share with you how you can upgrade your projects from your current versions of Visual Studio and the Microsoft C++ (MSVC) Build Tools to the latest versions. The new IDE ships with the v145 platform toolset for MSBuild C++ projects [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts\/35857","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/users\/1063"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/comments?post=35857"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts\/35857\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/media\/35743"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/media?parent=35857"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/categories?post=35857"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/tags?post=35857"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}