Share via


2022Logo Visual Studio 2022 version 17.7 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.


Visual Studio 2022 version 17.7 Releases

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:


17.7.7 Visual Studio 2022 version 17.7.7

released Nov 14th, 2023

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

Security Advisories Addressed

  • CVE-2023-36038 A vulnerability exists in ASP.NET IIS where a remote unauthenticated user can issue specially crafted requests to a .NET application which may result in denial of service.
  • CVE-2023-36049 An elevation of privilege vulnerability exists in .NET where untrusted URIs provided to System.Net.WebRequest.Create can be used to inject arbitrary commands to backend FTP servers.
  • CVE-2023-36558 A security feature bypass vulnerability exists in ASP.NET where an unauthenticated user is able to bypass validation on blazor server forms which could trigger unintended actions.
  • CVE-2023-36042 A denial of service vulnerability exists in Visual Studio where a malformed decorated name can result in an infinite loop.

17.7.6 Visual Studio 2022 version 17.7.6

released Oct 24th, 2023

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

  • Fixed a hang when opening database projects in the presence of Devart extension.
  • Fixed a crash when adding a new sqllite (and similar) connected service from the Solution Explorer context menu.

Developer Community

Security Advisories Republished

  • CVE-2023-36799 A vulnerability exists in .NET where reading a maliciously crafted X.509 certificate may result in Denial of Service. This issue only affects Linux systems.
  • CVE-2023-36796This security update addresses a vulnerability in DiaSymReader.dll when reading a corrupted PDB file which can lead to Remote Code Execution.
  • CVE-2023-36794This security update addresses a vulnerability in DiaSymReader.dll when reading a corrupted PDB file which can lead to Remote Code Execution.
  • CVE-2023-36793This security update addresses a vulnerability in DiaSymReader.dll when reading a corrupted PDB file which can lead to Remote Code Execution.
  • CVE-2023-36792This security update addresses a vulnerability in DiaSymReader.dll when reading a corrupted PDB file which can lead to Remote Code Execution.

17.7.5 Visual Studio 2022 version 17.7.5

released Oct 10th, 2023

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

  • This fixes an issue where the configuration that was selected in previous Visual Studio sessions wasn't being restored.
  • The CMake cache no longer generates automatically when "Never run configure step automatically" is selected in the settings.
  • Fixed C++ modules bugs and added several modules throughput improvements. When using LTCG (/GL), in certain rare cases, the compiler could fail to realize that a global variable might be modified during program execution and instead incorrectly conclude it's constant, and improperly propagate it's initial value to locations where the global variable is used.
  • Updates .NET 7 MAUI to SR8. Fixes an issue where MAUI apps cannot compile with Xcode 15 when Linker was disabled. For full release notes please visit: https://github.com/xamarin/xamarin-macios/releases
  • Fixed several issues related to display DPI changes that could result in a crash or hang.
  • Fixed an issue where opening a folder would cause an error related to "Process Telemetry" to be displayed if certain Visual Studio Workloads or Individual Components are not installed.

Developer Community

Security Advisories Addressed

  • CVE-2023-36435 A memory leak vulnerability exists in MsQuic.dll which may lead to Denial of Service. This issue only affects Windows systems.
  • CVE-2023-38171 A null pointer vulnerability exists in MsQuic.dll which may lead to Denial of Service. This issue only affects Windows systems.
  • CVE-2023-44487 A vulnerability exists in the ASP.NET Core Kestrel web server where a malicious client may flood the server with specially crafted HTTP/2 requests, causing denial of service.

17.7.4 Visual Studio 2022 version 17.7.4

released Sep 12th, 2023

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

  • Updated version of Git used by Visual Studio to v 2.41.0.3.
  • Fixed a crash while applying changes with hot reload on a decompiled module.
  • Ensures the security of the VS Installer Elevation Service by adding quotes to the path, preventing process hijacking along the path.

Developer Community

Security Advisories Addressed

  • CVE-2023-36799A vulnerability exists in .NET where reading a maliciously crafted X.509 certificate may result in Denial of Service. This issue only affects Linux systems.
  • CVE-2023-36796This security update addresses a vulnerability in DiaSymReader.dll when reading a corrupted PDB file which can lead to Remote Code Execution.
  • CVE-2023-36794This security update addresses a vulnerability in DiaSymReader.dll when reading a corrupted PDB file which can lead to Remote Code Execution.
  • CVE-2023-36793This security update addresses a vulnerability in DiaSymReader.dll when reading a corrupted PDB file which can lead to Remote Code Execution.
  • CVE-2023-36792This security update addresses a vulnerability in DiaSymReader.dll when reading a corrupted PDB file which can lead to Remote Code Execution.
  • CVE-2023-36759This security update removes pgodriver.sys, where reading a malicious file can lead to Elevation of Privilege.
  • CVE-2023-36758This security update addresses a vulnerability in VSInstallerElevationService when running a malicious executable which can lead to Elevatio of Privilege.

17.7.3 Visual Studio 2022 version 17.7.3

released Aug 29th, 2023

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

  • Added support to list simulators and devices with Xcode 15 and removed the NewsstandKit hard link dependency.
  • Fixed an issue preventing the Visual Studio Installer from running when there is a symlink in the installer path.
  • The new Include Cleanup feature for C++ which was added in 17.7 has been causing crashes for users, so we have disabled it for now, with a view to re-enable in 17.8

Developer Community


17.7.2 Visual Studio 2022 version 17.7.2

released Aug 22nd, 2023

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

  • Certain endpoint security and application control programs were inducing instability in Visual Studio. This has been addressed.
  • Fixed crashes experienced by some users of the "Install WSL For Me" experience.
  • Users who opened a folder containing a CMake project may have experienced an indefinite hang in Visual Studio. The race condition causing this hang has been identified and fixed.

Developer Community


17.7.1 Visual Studio 2022 version 17.7.1

released Aug 15th, 2023

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

Developer Community


17.7.0 Visual Studio 2022 version 17.7

released Aug 8th, 2023

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

Productivity Features

Features Community Suggestions
Comparing Files 🙏– 543 votes
Copy and Trim Indentation 🙏– 86 votes
Multi-branch Git Graph 🙏– 149 votes
Create new GitHub Actions
Parallel Stack Filtering
Collapse All Descendants for Solution Explorer 🙏– 7 votes

Performance Improvements

Features Community Suggestions
F5 Speed
All-in-One Search Responsiveness
Find in Files Search Improvements 🙏– 122 votes
C# Spell Checker Memory Consumption
C++ Unreal Engine Time to IntelliSense
Light Bulb Responsiveness
Solutions Load CPU Consumption

.NET development

Features Community Suggestions
Auto-decompilation for External .NET Code 🙏– 29 votes
New Auto Insights for the CPU usage tool

C++ and game development

Features Community Suggestions
Unreal Engine Macros Formatting for C++
Build Insights in Visual Studio (C++) 🙏– 141 votes
Unreal Engine Naming Convention Checker for C++
Improved Doxygen overload resolution
Unreal Engine Blueprint Find All References
Address Sanitizer continue_on_error Support
Include Cleanup

Linux and embedded development with C++

Features Community Suggestions
WSL Automatic Acquisition
Remote File Explorer Updates

[Other C++ Updates...]

Web Development

Features Community Suggestions
npm Dependency Management in ASP.NET projects
Supporting Vite for React and Vue new project creation
HTTP Editor
Power Platform connected services

F#

SSDT (SQL)

Features Community Suggestions
Support for Serverless SQL Pool in SSDT

Installation and Updates

Features Community Suggestions
Rollback now preserves all user settings

Enterprise Management and Acquisition

Features Community Suggestions
Ability for standard users to update and modify Visual Studio 🙏– 97 votes

Microsoft 365 development

Features Community Suggestions
Microsoft Teams development tools (Teams Toolkit)

Other Developer Community Suggestions: You asked, we listened!


Productivity Features:

Compare Files

You no longer need to leave Visual Studio and rely on other tools to compare files. Now you can easily compare any file in Solution Explorer with other files by either: 

  • Right-clicking on a single file, selecting “Compare With…” from the context menu which will bring up File Explorer. Navigating to any file on disk and selecting it for comparison.
  • Multi-selecting two files by holding down the Ctrl button then right-clicking and selecting “Compare Selected” from the context menu.

Compare Selected in the Context Menu

Please share your feedback here. We’d love to hear your thoughts on this new experience.

Copy and Trim Indentation

When you copy code from Visual Studio to another program (Outlook, Teams, Slack, etc), Visual Studio will now automatically fix the indentation for you.

Copy and Trim Indentation

Multi-branch Git Graph

Building on the work in preview, we've implemented the multi-branch graph to enable visualizing multiple branches in the same graph along with other UI improvements.

Multi-branch graph

You can select other branches to compare to the currently checked out branch or use the hover eye icon to toggle branches on and off in the graph, keeping track of your incoming and outgoing branches on the currently checked out branch with the new summary icons. Additionally, you can see avatars for the authors in Azure DevOps repos, get smoother graph rendering updates, and maximize your space by collapsing the branches panel or opening your commit details.

Git repo updates

Please share your feedback on this feature here

Create new GitHub Actions

You can now create new GitHub Actions workflows from Solution Explorer. It supports Azure Container Apps and Azure Kubernetes Service as destinations, and it supports deploying multiple projects with a single workflow. When your project is under source control on GitHub.com, a new node appears in Solution Explorer representing GitHub Actions (if you are not seeing the new node, make sure "Show GitHub Actions in Solution Explorer" is checked under Tools > Options > Preview Features). Right-click and select "Create new" to try out the new experience.

Create new GitHub Actions workflow from Solution Explorer

Parallel Stacks Filter

The Parallel Stack Window now supports filtering options. With filtering, you can easily focus on just the frames and threads that matter to you, so you can achieve greater clarity and get more done in less time. In additional to filtering we have now added the ability to Drag Select frames from the parallel stack window. So now you can easily perform operations like copy/paste, flag/unflag or freeze/thaw for all the selected frames at once.

Parallel Stack Filter

Collapse All Descendants for Solution Explorer

  • We've added a "Collapse All Descendents" command to the context menu when you right-click on a node in Solution Explorer. You can use this to collapse the selected node as well as its descendent nodes. We've also mapped this as a shortcut via the Ctrl+Left arrow keys.

Performance Improvements:

F5 Speed

We recognize that performance of Visual Studio is critical to you. With this in mind, we have optimized Program Database (PDB) files, resulting in improving debugging sessions and decreasing the project selection screen loading time for Unreal projects for example by 21% (~4 sec gain). Additionally, the F5 path is optimized, leading to a 5-10% improvement in the debugger's startup time and process launch.

F5 Time

All-in-One Search Responsiveness

Several accuracy and performance enhancements are coming to All-in-One Search. For example, exact matches now show higher in the results list and results update more accurately in real time as you type your query.

All in One Search

Try out the All-In-One Search experience by making sure it is enabled in Tools > Manage Preview Features > “New Visual Studio Search experience (restart required)” and using the Ctrl + T or the Ctrl + Q keyboard shortcut to launch it. If you have feedback to share with us about this feature, let us know here.

Find in Files Search Time

Find in Files search time has been significantly improved with various optimizations, resulting in a remarkable ~50% reduction in search time!

Find in files

C# Spell Checker Memory Consumption

The LSP (Language Server Protocol) for the C# Spell Checker underwent significant improvements. By implementing a more efficient data structure and enabling streaming support, we achieved a remarkable 90% reduction in the memory footprint of the JSON transferred between the LSP Server and LSP Client. This enhancement leads to faster performance, increased efficiency and scalability for the spell-checking functionality.

Spell check

C++ Unreal Engine Time to IntelliSense

In Unreal Engine projects, the time for IntelliSense and colorization to become ready in newly opened C++ files is significantly reduced. The generation of IntelliSense cache (IPCH) is now 30% faster in Unreal Engine 5.1 and 5.2 projects and 15% faster in Unreal Engine 4.27 projects.

UnReal Engine

Light Bulb Responsiveness

Performance enhancements to the light bulb feature in Roslyn have resulted in faster fixes for slow diagnostics like Fix Formatting and Simplify Type Name. Enjoy immediate suggestions and fixes, even in large documents or after making edits.

Solutions Load CPU Consumption

Loading large solutions is now more efficient, with reduced CPU consumption thanks to optimized hash creation methods. This enhancement is particularly beneficial for machines with multiple cores.


.NET Development

Auto-decompilation for External .NET Code

The Visual Studio Debugger supports Autodecompilation for external .NET code. Whenever you step into code that has been implemented externally, the debugger will automatically decompile it and display the point of execution.

This feature is particularly useful when analyzing call stacks, as you can double-click any stack frame and the debugger will navigate directly to the code. Additionally, you can debug the decompiled code and set breakpoints easily. All of the decompiled code is also shown under the External Sources node in Solution Explorer, make it easy to browse through the external files if needed.

If you wish to disable the automatic decompilation of external code, simply clear the "Automatically decompile to source when needed (managed only)" option under Tools > Options > Debugging.

Autodecompilation

New Auto Insights for CPU Usage tool

The CPU usage tool now provides additional insights and details for scenarios involving certain methods and properties, such as Enum.HasFlag, Enum.ToString, String.StartsWith, String(char[]), ConcurrentDictionary.Count, ConcurrentDictionary.Keys/Values, and DateTime.Now.

Additionally, there is now an 'Ask Copilot' option that uses the Copilot chat extension. When triggered, Copilot chat will explain why the issue occurred and suggest a fix.

CPU Usage


C++ and game development

Unreal Engine Macros Formatting for C++

Visual Studio will detect and follow indentation and formatting rules for your Unreal Engine reflection macros. To turn on Unreal Engine specific formatting, search "Unreal Engine" in Options or go to Tools > Options > Text Editor > C/C++ > Code Style > Formatting > Unreal Engine and check "Apply special formatting for Slate declarative syntax and Unreal Engine reflection macros."

Unreal Engine macro formatting

Build Insights in Visual Studio (C++)

Thanks to your feedback, we are happy to announce that Build Insights is now integrated with Visual Studio 2022! Build Insights provides you with valuable information needed when optimizing your C++ build times. Start your Build Insights .etl trace capture with the click of a button for your solution or projects. After compilation, Build Insights will create a diagnostic report that allows you to see expensive includes and navigate directly to header files. For power users, you can open Windows Performance Analyzer from within the report.

Build Insights

Unreal Engine Naming Convention Checker for C++

With the Unreal Engine Naming Convention checker, Visual Studio will now give you hints when your symbols are not conformant to the Unreal Engine coding style. After adding an .editorconfig file to your Unreal Engine project, Visual Studio will display naming convention warnings in the Error List and provide a Quick Fix option upon right-clicking.

Unreal Engine Naming Convention checker

Improved Doxygen overload resolution

Previously, when a specific function had a Doxygen comment, it did not appear in the Quick Info for each overload except for the one immediately following the comment. We now allow the documentation from another overload to be displayed in the Quick Info for all associated overloads.

Doxygen Improvements

Unreal Engine Blueprint Find All References

You can now search for references of UFUNCTION in Unreal Engine Blueprints with the new Blueprint Find All References. To start, right-click on a symbol with Blueprint references. Then, click "Find All Blueprint References" to start the search. The latest version of the Unreal Engine plugin "Visual Studio Integration Tool" is required.

UE Find All References

Address Sanitizer continue_on_error Support

We have expanded our Address Sanitizer support with a new continue_on_error mode. This new runtime mode diagnoses and reports hidden memory safety errors, with zero false positives, as your app runs. Output to stdout with set ASAN_OPTIONS=continue_on_error=1, or to stderr with set ASAN_OPTIONS=continue_on_error=2. See AddressSanitizer continue_on_error for more details.

Asan Continue on Error

Include Cleanup

Added new "Include Cleanup" feature. This provides suggestions to add direct includes whenever indirect includes are detected, and identifies any unused includes. This feature is disabled by default. To enable it, navigate to Tools > Options > Text Editor > C/C++ > IntelliSense and select "Enable #include cleanup". You can learn more about this feature in the Include Cleanup blog post.

Include Cleanup


Linux and embedded development with C++

WSL Automatic Acquisition

One-click downloads of WSL are now available with the Linux and Embedded Workload. When you open a CMake project that can target Linux, a gold bar will open for you to click and open a WSL installation process. By default, it will install an Ubuntu machine. Additionally, you can open the dialog by navigation at any time to Project > Install WSL for Me.

One-click Install WSL

Remote File Explorer Updates

We have added a search capability to the Remote File Explorer. You are now able to search for files based on where you are in your remote machine along the top bar, and then right-click to go to any found file’s location. Additionally, we have added two new buttons to the toolbar to improve the Remote File Explorer experience, one to go to the home directory and one to open tools options.

Remote File Explorer


Other C++ updates

  • Added support for CMakePresets.json version 6. See the CMake documentation for details on what is available in this version.
  • Upgraded the version of LLVM shipped with Visual Studio to version 16. See the LLVM and Clang release notes for what is available in this version.
  • Added new intrinsics for overflow detection, such as _add_overflow_i32.
  • The Connection Manager API is now publicly exposed for programmaticaly managing your connections.
  • We have changed the linking model used by ASan. Instead of each runtime library setting (/MD, /MT, /MDd, /MTd) having its own way of providing the ASan runtime, all of those settings now depend on single DLL: clang_rt.asan_dynamic-<arch>.dll. This means that programs that load binaries that link to the C Runtime differently will be able to be run under ASan without any compatibility issues, and /MT(d) DLLs no longer need the host EXE to be built with ASan in order to run. Note that this means /MT(d) binaries now also rely on the clang_rt.asan_dyanmic-<arch>.dll being present on path for that program, so testing environments will need to be updated.
  • You can now use the Visualize Expansion option on macros to view the expansion of nested macros step-by-step.

Macro Visualization


Web Development:

npm Dependency Management in ASP.NET projects

In your ASP.NET projects that leverage npm packages, Visual Studio will now show those packages from your package.json in the Dependencies node in Solution Explorer. This now enables you to get a clear view of all your solution dependencies in one place for .NET with references, NuGet packages, and now npm packages. You can add new packages or restore (npm install) all packages by right clicking on the npm node.

npm node

You can search and select which package you would like to add using the UI.

npm UI

You can update or uninstall a specific package by right clicking on it.

npm package

Supporting Vite for React and Vue new project creation

When we announced the JavaScript/TypeScript and .NET combined project templates in Visual Studio, we received community feedback that both create-react-app and the vue cli are no longer the preferred way of creating new applications. We now utilize Vite for both React and Vue new project creation for our JavaScript and TypeScript project templates in Visual Studio. Project build and run will also benefit from Vite, such as faster server start and updates.

This change also gives a performance boost to the process, resulting in a much faster time to create these types of projects. It also addresses the creation failure problem when you don't have the necessary dependencies installed locally on your machine.

Updated Vite project templates

HTTP Editor

  • We've made updates to the HTTP Editor including a new Response View. The new Response View includes support for JSON highlighting as well as the ability to view; the raw response, the headers of the request and the request as it was sent to the web server.
  • The green play button to send the request was replaced by code lens actions.

Power Platform connected services


F#

  • Added inline return type hints:

F# return type hints

Since they are in preview and disabled by default. Enable them via Tools -> Options -> Text Editor -> F# -> Advanced -> Display return type hints

  • Added new bulk code fixes:

F# bulk fixes

See the full list of these code fixes in #15082

  • Resolved an issue with parameter name hints crashing when using multi-line arguments
  • Added an option to customize Quick Info description width: Tools -> Options -> Text Editor -> F# -> QuickInfo -> Preferred description width in characters. See more details in #14964
  • Incorporated activity log into the output pane (for more information, refer to #15028)
  • Fixed bulk code fix for removing unused opens
  • Improved the speed of Quick Info link navigation
  • Added support for the new interpolated strings syntax with multiple dollar signs (details and RFC):

string interpolation support

  • Introduced tooltips for inline hints:

A- Type hints:

type hint tooltips

B- Parameter name hints:

parameter name hint tooltips

  • Fixed parameter name hints for nested function calls (#15156) and custom operations (#15119)
  • Fixed return type hints for cases where annotations are present alongside generic or type parameters (#15124)

SSDT (SQL)

Support for Serverless SQL Pool in SSDT

We are providing the capability of importing a database from Serverless SQL Pool into SSDT. It can be done by the same process by which a regular database is imported.

Import Database 1 Import Database 2

Users will also be able to publish a whole new project in the Serverless SQL Pool. The target platform needs to be set as SQL Serverless

Database Settings

Regular SSDT operations like Schema Compare, Data Compare, Addition of external tables can be performed on these tables.

  • Fixed issue with publish using Azure Interactive Dir to an Azure Debugger.
  • Changed the Nomenclature of SQL Serverless in the Target Platform to Azure Synapse Analytics Serverless SQL Pool.

Installation and Updates

Rollback

Visual Studio supports the ability to return to your previously installed version. Rolling back will return Visual Studio to the version installed prior to the last applied update, but it will keep any modifications to selected components chosen since that last update. Your common synchronized settings such as themes, fonts, key bindings, and windows layout will be restored. Similarly, your roamed settings will always be restored. A recent addition to this feature is that now your local customizations such as your user settings will be restored only if you are rolling back to version 17.7 Preview 3 or higher. For more information, please visit the Rollback blogpost.


Enterprise Management and Acquisition

Ability for standard users to update and modify Visual Studio

This version contains a new feature that will help enterprises adhere to security best practices while enabling their developers to update and modify their development environment. Administrators can now delegate installer functionality to standard users. So, if an administrator follows security best practices and restricts user permissions, then the administrator can now grant standard users access to installer functionality, thus allowing developers to update and modify the product.

To enable this configuration, an administrator will need to perform two simple steps on the client machine: install the latest 17.7 installer, and set the new global policy.

  • You can acquire the latest installer on the client machine by updating the product.
  • Set the global policy 'AllowStandardUserControl' REG_DWORD.
    • A value of 1 enables just update and rollback.
    • A value of 2 enables all installer functionality, including modify and install from Available tab.

This functionality applies to all versions Visual Studio 2017 and greater.

Many enterprise users have requested this capability and we hope that our solution meets your needs. Please try it out and let us know what you think!


Microsoft 365 development

Microsoft Teams development tools (Teams Toolkit)

We have fully tested the preview features in 17.6 Preview channel and now ship the preview features officially in 17.7 GA version. Including:

  • Teams Toolkit update the Teams app templates project structure to make it more transparent and flexible to developers.
  • In the new project, we introducing a new config file teamsapp.yml, where users can see what actions Teams Toolkit performs behind the scenes when lifecycle commands like debug, provision and deploy etc are triggered. Users can clearly see the actions being conducted by Teams Toolkit and can customize the actions by editing the yml file to change the Teams Toolkit behavior.
  • Now you can use VS native Dev Tunnel feature to create tunneling service for Teams app. NgRok is no longer the only way to create tunnel for Teams projects.
  • TeamsFx .NET SDK updates
    • Support to get a paginated list of targets where the bot is installed in notification bot.
    • Support to get a paginated list of members of one-on-one, group, or team conversation in notification bot.
  • Simplified Teams Tab app template is provided in this version.
  • Several bug fix and UI improvements to ensure better user experience on Teams Toolkit