PreviewLogo Visual Studio 2022 version 17.3 Release Notes


Tip

Watch the recordings of the Visual Studio 2022 launch event to learn about what's new, hear tips & tricks, and download free digital swag.

Developer Community | Visual Studio 2022 Roadmap | System Requirements | Compatibility | Distributable Code | Release History | License Terms | Blogs | Latest Release Known Issues | Whats New in Visual Studio Docs


Click a button to download the latest version of Visual Studio 2022. For instructions on installing and updating Visual Studio 2022, see Update Visual Studio 2022 to the most recent release. Also, see instructions on how to install offline.

Download Community Button Download Professional Button Download Enterprise Button

Visit the Visual Studio site to download other Visual Studio 2022 products.

Important

Preview Channel is not "go-live" and not intended for use on production computers or for creating production code. For more information, see Visual Studio Product Lifecycle and Servicing.

Download Community Preview Button Download Professional Preview Button Download Enterprise Preview Button


What's New in Visual Studio 2022 version 17.3

Visual Studio 2022 Blog

The Visual Studio 2022 Blog is the official source of product insight from the Visual Studio Engineering Team. You can find in-depth information about the Visual Studio 2022 releases in the following posts:

Developer Community Suggestions: You asked, we listened!

Take a look at the list below of Developer Community issues that were addressed in Visual Studio 2022 version 17.3


Visual Studio 2022 version 17.3 Releases


17.3.5 Visual Studio 2022 version 17.3.5

released September 27 , 2022

Issues Addressed in this release of 17.3.5

  • Fixed an issue where Visual Studio would get into a unresponsive state intermittently while closing WinForms .NET Designer.
  • When a user has HSTS enabled in their browser settings and adds a GitHub account to the Visual Studio keychain, an error message is displayed with a link to troubleshoot the issue.
  • Fixed an issue where Roslyn analyzers and source generators targeting version 4.3.0 would fail to load in Visual Studio.
  • Adds support for Xcode 14.0

From Developer Community


17.3.4 Visual Studio 2022 version 17.3.4

released September 13 , 2022

Issues Addressed in this release of 17.3.4

  • Stop issuing false positives for warning C4191.
  • This release fixes the following warning, "The value of the 'PublicKey' attribute in 'Microsoft .NET Framework 4.7.2 (x86 and x64)' does not match that of file 'C:\Program Files (x86)\Microsoft SDKs\ClickOnce Bootstrapper\Packages\DotNetFX472\NDP472-KB4054530-x86-x64-AllOS-ENU.exe'. ", after publishing ClickOnce project in Visual Studio 17.3

Security Advisory

CVE-2022-38013 .NET Denial of Service Vulnerability A denial of service vulnerability exists in ASP.NET Core 3.1 and .NET 6.0 where a malicious client could cause a stack overflow which may result in a denial of service attack when an attacker sends a customized payload that is parsed during model binding.


17.3.3 Visual Studio 2022 version 17.3.3

released August 30, 2022

Issues Addressed in this release of 17.3.3

  • Fixed an issue which would cause VS to hang when using rename in C# or VB.NET projects.

From Developer Community


17.3.2 Visual Studio 2022 version 17.3.2

released August 23, 2022

Issues Addressed in this release of 17.3.2

  • Fixes the Toolbox -> Choose Items command when a non-English language is selected in Visual Studio.
  • The installer has been updated to handle internal dependencies that may be missing.

From Developer Community


17.3.1 Visual Studio 2022 version 17.3.1

released August 16, 2022

Issues Addressed in this release of 17.3.1

  • Includes servicing update 10.0.22000.832 for Windows SDK for Windows 11.

From Developer Community


17.3.0 Visual Studio 2022 version 17.3

released August 9, 2022

Summary of What's New in this Release of Visual Studio 2022 version 17.3

  • MAUI workload GA Build
  • MAUI/Blazor CSS Hot Reload support
  • You'll now be able to try out a selection of new features in Visual Studio with each update, using our What's New feature.
  • Select each feature to learn more about the particular feature.

What's New in Visual Studio

Apple Developer Accounts

This preview includes initial support for Individual AppStoreConnect accounts which are needed for non-Enterprise Apple Developers.

  • To add an Individual account, open Tools\Options and then select the "Apple Accounts" item located in the Xamarin section. In the "Apple Accounts", click the "Add Account..." button and select "Add Individual Account" and enter the AppStoreConnect API Key information.
  • Once the account is created, certificates and provisioning profiles can be accessed via the "View Details" button.
  • Known Issues:
    • Automatic Provisioning may not work correctly for Individual accounts in some cases. To work around this, follow the instructions for manual provisioning.

Audio Cues in the Editor

  • We've introduced new audio cues in the Visual Studio editor. When enabled, Visual Studio will play sounds when the editing caret arrives on a line with a breakpoint, an error or a warning. By default, Visual Studio uses the same sounds as Visual Studio Code, but these sounds can be configured to the user's preference.
  • To enable audio cues, head to Tools\Options and look for "Preview Features" under Environment. In the Preview Features, the new option is "Enable Audio Cues for the editor". If it's checked, the next time Visual Studio is started, the sounds will play.
  • To configure individual audio cues, tap the Windows key in either Windows 10 or Windows 11 and search for "Change system sounds". Under the Program Events, look for the "Microsoft Visual Studio" node in the Program Events tree. The new events are "Line has Breakpoint", "Line has Error" and "Line has Warning". This can be used to customize or disable individual sounds.

Sound Control Panel in Windows

Git Tooling

Line-staging support, a.k.a interactive staging with the ability to stage specific lines and/or chunks of code right from the editor and the diff view. To get started, stage one of your recent changes by selecting the corresponding color margin and utilizing the Peek Difference UI to stage your change.

Read our blog post to learn more and share your feedback.

Line-staging support

C++

  • The Arm64EC toolchain is no longer marked as experimental and is ready for production use.
  • The Visual Studio Terminal can now be used as an SSH client with your stored SSH connections. With the C++ for Linux Tools installed, open the Terminal tool window and the Terminal dropdown will be populated with your stored connections. If selected, they will open a new Terminal window inside Visual Studio and a pseudoterminal on your remote system. Control characters, colors, and cursor positional awareness are all supported.
  • Visual Studio can now add Unreal Engine class templates for your UE projects. To try this feature, ensure "IDE support for Unreal Engine" is selected in the "Game development with C++" workload within the VS installer. When working on a UE project, right click in the project or a folder/filter and select Add > UE Class.
  • Go to Definition will now remember the prior signature and navigate accordingly when a better match is not available (e.g. after you manually changed the signature of one of the pair).
  • Improved responsiveness of Go To All. Previously, results appeared after you stopped typing. In the new experience, results will show as you type.
  • In contexts requiring enum type completion (e.g. assignments to enum variables, case labels, returning enum type, etc.) the autocompletion list will now be filtered to just the matching enumerators and related constructs.
  • Added NuGet PackageReference support for C++/CLI MSBuild projects targeting .NET Core. This change was made to unblock mixed codebases from being able to adopt .NET Core. This does not work for other C++ project types or any C++ project types targeting .NET Framework. There are no plans to extend PackageReference support to additional C++ scenarios as the team is working on separate experiences involving vcpkg which will work for non-MSBuild scenarios and add additional functionality.
  • Added a Serial Monitor window for embedded development, available through Debug > Windows > Serial Monitor.
  • Improved C++ indexing by ~66% compared to 17.2.
  • Updated the version of CMake shipped with Visual Studio to version 3.23. See the CMake 3.23 release notes for details of what is available.
  • Upgraded the versions of LLVM tools shipped with Visual Studio to v14. See the LLVM and Clang release notes for details of what is available.
  • Updated the side by side Dev 16.11 C++ Toolset to version 14.29.30145.00. The latest version of the Dev 16.11 C++ Toolset contains important bug fixes, including fixing all remaining C++20 defect reports. For information about bug fixes, including C++20 defect reports in Dev 16.11, please see Visual Studio 2019 version 16.11.14 release notes
  • We have made various improvements to the in-editor experience of C++ modules. "we're continuously working on improving the quality of the experience but encourage you to try in 17.3 and report remaining issues through Developer Community.

Debugging & Diagnostics

  • Diagnostics Analysis tools now include an analyzer that lists the unique call stacks in a memory dump along with the threads executing them.
  • IEnumerable visualizers now support data export in CSV format. Just use the dropdown on the top right corner and select CSV.The Visualizer will also allow you to filter data based desired filter string. The Visualizer will return all the rows that contain a value that matches the filter string. You can also export the filtered and sorted results in CSV/Excel format.

Visualizer_Filte

  • We also added the themeing support for IEnumerable and DataTable/DataSet visualizer, so both of these visualizer window are themed for Visual Studio’s dark, light and blue theme.

Visualizer_Filte

  • Starting 17.3 preview 3 debugger will automatically reload pervious decompiled artifacts like symbols and PDB files. If you choose to decompile at any previous session the artifacts will automatically be reloaded for all the next sessions and will get you to the decompiled sources faster in External Sources node. This will still honor your JMC settings.
  • Debugger now provides a new option to disable the load of NGEN or ready to load (RDR) images for managed code. You can change the settings under Tools > Options> Debugging > General > Prevent using precompiled images on module load or you can also easily search the settings using any of the keyword in the Visual Studio search bar.
  • You will now see the Exception stack frames inside the Call Stack window, so for all async exceptions, you can quickly load symbols or locate sources and go directly to the site of the exception. Exception stack frames inside the Call Stack window will provide functionalities of the actual call stack.Features like automatic navigation, quickly switching back and forth between frames, and symbol load / decompile options to get back to the source code where the exception was thrown.

Visualizer_Filte

General

  • GitHub accounts now roam across machines when signing in on a new machine with the same personalization account (account shown in the top left of the account settings dialog).

Installer

  • You can now update all side-by-side versions of Visual Studio with an “Update all” button on the installer.

Microsoft Teams Development Tools (Teams Toolkit)

  • The Microsoft Teams App project template has been improved and now creates various types of Teams app, including notification bot, command bot, tab app and message extensions. You can now create and debug various Microsoft Teams App using Teams Toolkit for Visual Studio.
  • We recommend creating a new project using the updated template for any existing Teams Apps you've created with previous versions of the Teams Toolkit.
  • You can now choose when to sign-in with your M365 identity and register Teams app resources using the Project > Teams Toolkit > Prepare Teams App Dependencies menu option.
  • Prepare Teams App Dependencies will register the Teams app and Bot for your Teams project.
  • Updates to the manifest.template.json files can be synchronized with Teams Developer Portal for local debug by selecting "Prepare Teams App Dependencies" menu option again at any time.
  • Updates to the manifest.template.json files can be synchronized with Teams Developer Portal for remote preview by selecting Project > Teams Toolkit > Update Manifest in Teams Developer Portal menu option.
  • You can preview manifest file before synchronization by right click manifest.template.json file and use Preview Manifest File menu option.
  • Use the Project > Teams Toolkit > Provision in the Cloud menu to create resources in an Azure subscription.
  • Use the Project > Teams Toolkit > Deploy to the Cloud menu to publish code to those resources.
  • You can open Teams app remotely in a browser that are created from the Provision menu using the Preview Teams app menu.
  • You can zip the Teams app and generate app package by select Project > Teams Toolkit > Zip App Package menu option for sharing and uploading purpose.
  • You can find all Teams Toolkit menu options by right click on the Teams app project, they are the same as the Project > Teams Toolkit menu.
  • Learn more about Teams Toolkit at https://aka.ms/teams-toolkit-vs-docs

.NET Productivity

  • In C# 10 we introduced Global Usings. Global Usings adds usings to the top of a file invisibly and automatically. We now surface an icon at the top of your file to let you know if Global Usings are active in your file and if you click on the icon, it will show you what those Global Usings are. Global Usings

  • Peek Definition now supports source link, embedded source, and decompiled sources. Peek Definition

  • We added the following three options for collapsing and outlining views on file open:

    • Collapse #regions on file open
    • Collapse usings on file open
    • Collapse implementations from metadata on file open
  • You can now apply Fix All to both the Use expression body or block body and Convert to raw string literal refactoring.

  • We now have a code fix that fixes invalid constraints. Place your cursor on the diagnostic squiggle in the editor. Press Ctrl+. to trigger the Quick Actions and Refactorings menu. Select Fix constraint. Fix Constraint

  • We now have a refactoring that allows you to switch between top-level statements and the Program.Main style. Place your cursor on a top-level statement. Press Ctrl+. to trigger the Quick Actions and Refactorings menu. Select Convert to ‘Program.Main’ style program. Convert to Program.Main refactoring

  • We added additional scopes to the Fix All operation. In addition to applying the Fix All operation to a Document, Project, and Solution, you can apply Fix All to a Containing Member and Containing Type. Fix All Containing Members and Containing Types

  • We now automatically convert single line comments to doc comments when you add an additional forward slash to a single line comment.

  • We now have a code style option that allows you to warn on possible exceptions in a foreach loop. Foreach loops implicitly casts to derived types by design. This was necessary before generics existed but can lead to runtime exceptions in some cases.

Personalization

  • Document management capabilities have been updated. Read our blog post to learn more.

These features include:

  • Tabs arranged in multiple rows.
  • Restore recent document.
  • Modified dirty indicator.
  • Dropdown shows names of invisible docs in italics.

Razor (ASP.NET Core) Editor

  • The new Razor editor now has full completion support inside of an <attribute>.
  • The new Razor editor now correctly handles completion for HTML attributes when typing = “ ”.
  • The new Razor editor now support HTML, JavaScript, and CSS OnTypeFormatting.

Test tools

  • Parallel Discovery is now enabled by default when running tests from the Test Explorer. This enables Visual Studio to use available cores to discover tests in parallel and reduce the time to see tests in the Test Explorer.

  • The Live Unit Testing window now has a status bar, similar to the Test Explorer. This should give you better insight on the operations ongoing in Live Unit Testing as well as visibly surface errors. Live Unit Testing Status Bar

  • vstest.console now supports running assemblies of different target platforms and target frameworks in one request.

  • Code Coverage now has a cache for static instrumentation for better performance.

  • Microsoft.CodeCoverage.Console is now added to the command line tools.

  • The default architecture for AnyCPU .NET Framework test projects changed from x86 to x64. This change unifies how the default architecture is determined across all types of test projects to be always based on the architecture of Visual Studio. Meaning that in x64 version of VisualStudio, x64 will be used, and in future ARM64 VisualStudio, ARM64 will be used. The same rule also applies to dotnet test, and vstest.console. To revert to using x86, navigate to Test > Processor Architecture for AnyCPU projects > x86

  • Remote Testing now supports test runs against remote arm64 windows environments.

  • The new build experience for [Live Unit Testing] is now enabled by default. Read our blog post to learn more.

  • You can now choose to see code coverage information on the editor margin by selecting "Margin Glyphs" in the Code Coverage Results window. Convert to raw string

  • Live Unit Testing now provides a button to reset all state. By going to Test > Live Unit Testing > Reset Live Unit Testing state for solution. Live Unit Testing Reset State

  • Live Unit Testing now supports Razor files.

TypeScript and JavaScript Development

  • JavaScript and TypeScript files projects are now excluded from program analysis unless they are referenced by a tsconfig.json or jsconfig.json file. The result should be improved performance in large projects with lots of TypeScript and JavaScript files.

  • JavaScript (.esproj) projects that are referenced from an ASP.NET project now provide an option to include production build output in ASP.NET project publishing.

  • The TypeScript 4.7 language service and compiler are included in Visual Studio. See the TypeScript 4.7 announcement blog post for more.

  • The new multi-target JavaScript debugger is now used by default in Node.js (.njsproj) projects.

  • Auto-closing HTML tags in JavaScript and TypeScript React (.jsx/.tsx) files.

  • Fixed an issue where Automatic Type Acquisition (ATA) did not work when the default TypeScript language server is selected.

  • Fixed an issue where the dependencies node in Node.js (.njsproj) projects showed indirect dependencies when packages are restored using npm 7 or greater.


Security Advisory


From Developer Community


Known Issues

See all open issues and available workarounds in Visual Studio 2022 by following the below links.


Feedback and suggestions

We would love to hear from you! You can Report a Problem or Suggest a Feature Feedback Icon by using the Send Feedback icon in the upper right-hand corner of either the installer or the Visual Studio IDE, or from Help > Send Feedback. You can track your issues by using Visual Studio Developer Community, where you add comments or find solutions. You can also get free installation help through our Live Chat support.


Blogs

Take advantage of the insights and recommendations available in the Developer Tools Blogs site to keep you up-to-date on all new releases and include deep dive posts on a broad range of features.


Top of Page