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


Visual Studio 2022 version 17.1

Support Timeframe

This version is now out of support. For more information about Visual Studio supported baselines, please review the Support Policy for Visual Studio 2022.

Refer to the latest version of the release notes or visit the Visual Studio site to download the latest version of Visual Studio 2022.

Visual Studio 2022 version 17.1 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:

Visual Studio 2022 Archived Release Notes


17.1.7 Visual Studio 2022 version 17.1.7 NewReleaseButton

released May 10, 2022

Issues Addressed in this release of 17.1.7

  • Updated the webview2 baseline in Daytona.

From Developer Community

Security Advisory Notice

CVE-2022-29117 .NET Denial of Service Vulnerability A vulnerability exists in .NET 6.0, .NET 5.0 and .NET Core 3.1 where a malicious client can manipulate cookies and cause a Denial of Service.

CVE-2022-23267 .NET Core Denial of Service Vulnerability A vulnerability exists in .NET 6.0, .NET 5.0 and .NET Core 3.1 where a malicious client can cause a Denial of Service via excess memory allocations through HttpClient.

CVE-2022-29145 .NET Denial of Service Vulnerability A vulnerability exists in .NET 6.0, .NET 5.0 and .NET Core 3.1 where a malicious client can can cause a denial of service when HTML forms are parsed.

CVE-2022-24513 Elevation of privilege vulnerability A potential elevation of privilege vulnerability exists when the Microsoft Visual Studio updater service improperly parses local configuration data.


17.1.6 Visual Studio 2022 version 17.1.6

released April 26, 2022

Issues Addressed in this release of 17.1.6

From Developer Community

Developer Community has a full list of fixes available in 17.1.


17.1.5 Visual Studio 2022 version 17.1.5

released April 19, 2022

Issues Addressed in this release of 17.1.5

  • Fixed vctip.exe regression from 17.1.4
  • Fixed issue ‘Unable to install any extension (vsix) for Visual Studio on an offline machine’.

From Developer Community

Developer Community has a full list of fixes available in 17.1.


17.1.4 Visual Studio 2022 version 17.1.4

released April 12, 2022

Note

As a result of the update to the version of Git in Visual Studio to address security vulnerability CVE-2022-24765, certain Git users may encounter an error preventing Git repos from showing up in Visual Studio.

Users that have cloned or created a Repo as Admin user and then tried to view or consume it as non-admin may be affected by this issue. If you’re running into this problem and trust the repo you’re trying to open, you can add it to the list of safe directories by running the following command from a Command Prompt, PowerShell, or terminal with access to Git for Windows:

git config --global --add safe.directory <path-to-repository>

You can find the full details and keep track of the issue for updates on Developer Community.

Issues Addressed in this release of 17.1.4

  • Fixed an issue where calls to 'new' in templates did not find the correct 'operator new' function through argument-dependent lookup.
  • Fixed an issue in design time type resolution for Windows Forms .NET Framework designer that would otherwise cause designer load to fail.
  • Fixes "HotRestart.Tasks.DetectSigningIdentity" task failed unexpectedly.
  • Added installer command line to remove an unused channel.

Known Issues

  • Syncing Apple Developer Account certificates and provisioning profiles is not supported except for accounts that are intended to be used for In-House deployments. To workaround this issue, please download certificates and provisioning profiles directly from the Apple Developer Account web site.

From Developer Community

Security Advisory Notice

CVE-2021-43877 ASP.NET Core and Visual Studio elevation of privilege Vulnerability An elevation of privilege vulnerability exists in ASP.NET Core Module (ANCM) that could allow elevation of privilege when .NET Core, .NET 5 and .NET 6 applications are hosted within IIS.

CVE-2022-24765 Elevation of privilege vulnerability A potential elevation of privilege vulnerability exists in Git for Windows, in which Git operations could run outside a repository while seraching for a Git directory. Git for Windows is now updated to version 2.35.2.1.

CVE-2022-24767 DLL hijacking vulnerability A potential DLL hijacking vulnerability exists in Git for Windows installer, when running the uninstaller under the SYSTEM user account. Git for Windows is now updated to version 2.35.2.1.

CVE-2022-24513 Elevation of privilege vulnerability A potential elevation of privilege vulnerability exists when the Microsoft Visual Studio updater service improperly parses local configuration data.


17.1.3 Visual Studio 2022 version 17.1.3

released March 31, 2022

Issues Addressed in this release of 17.1.3

  • Introduced support for Apple Xcode 13.3.
  • Fixes iOS IPA generator error (ERROR ITMS-90207) using Xcode 13.3.
  • Fixes failed to synchronize <email> account with Apple developer portal
  • Fixes issue where Visual Studio would hang/freeze when using TFVC for an extended period of time (over an hour).
  • Fixes error message "An incompatible SQL Server version was detected." when connecting to Azure SQL Managed Instance from Visual Studio SQL Server Data Tools.

Known Issues

From Developer Community

Developer Community has a full list of fixes available in 17.1.


17.1.2 Visual Studio 2022 version 17.1.2

released March 22, 2022

Issues Addressed in this release of 17.1.2

  • Fixed issue that would cause some animations for test execution to run in the background even when the associated test executions were complete. This causes slowdowns that were especially noticeable on high refresh rate monitors. The fix should improve the experience of using VS on high refresh rate monitors.
  • Disable automatically opening the Stack Trace Explorer window on opening Visual Studio. This can still be enabled in options.
  • Fixed a regression where drag-docking document tabs only worked with the dock adorner and not other document tabs.
  • Fixed a problem with sporadic linker hang.

From Developer Community

Developer Community has a full list of fixes available in 17.1.


17.1.1 Visual Studio 2022 version 17.1.1

released March 8, 2022

Issues Addressed in this release of 17.1.1

From Developer Community

Developer Community has a full list of fixes available in 17.1.

Security Advisory Notice

CVE-2020-8927 Vulnerability A Remote code Execution vulnerability exists in .NET 5.0 and .NET Core 3.1 where a buffer overflow exists in the Brotli library versions prior to 1.0.8.

CVE-2022-24464 Vulnerability A denial of service vulnerability exists in .NET 6.0, .NET 5.0, and .NET CORE 3.1 when parsing certain types of http form requests.

CVE-2022-24512 Vulnerability A Remote Code Execution vulnerability exists in .NET 6.0, .NET 5.0, and .NET Core 3.1 where a stack buffer overrun occurs in .NET Double Parse routine.

CVE-2021-3711 OpenSSL Buffer Overflow vulnerability A potential buffer overflow vulnerability exists in OpenSSL, which is consumed by Git for Windows. Git for Windows is now updated to version 2.35.1.2, which addresses this issue.


17.1.0 Visual Studio 2022 version 17.1.0

released February 15, 2022

Summary of What’s New in this Release of Visual Studio 2022 Version 17.1.0

C++

  • A new Configure Preset template has been added to configure and build CMake projects on a remote macOS system with CMakePresets.json. You can also launch CMake targets on a remote macOS system and debug with the front-end of the Visual Studio debugger backed by GDB or LLDB.
  • You can now debug core dumps on a remote macOS system from Visual Studio with LLDB or GDB.
  • The versions of Clang and LLVM shipped with Visual Studio have been upgraded to v13.
  • Visual Studio's CMake integration will only activate when a CMakeLists.txt is identified at the root of the open workspace. If a CMakeLists.txt is identified at another level of the workspace, then you will be prompted to activate Visual Studio's CMake integration with a notification.
  • Added a new register visualisation window for embedded targets, available through Debug > Windows > Embedded Registers.
  • Added a new thread view for RTOS projects, available through Debug > Windows > RTOS Objects.

Debugging & Diagnostics

  • Added a new feature called StickyDataTips i.e., you can now keep your DataTips expanded until you click away. This gives a very easy way to evalute your objects whithin the DataTips. To enable this feature, check the checkbox "Keep expanded data tips open until clicked away" under Tools >Options > Debugging > General.
  • Added a support for Microsoft Azure App Services Attach to Process.

Editor

  • The Code Cleanup feature can now be configured to be run whenever a file is explicitly saved. In Tools > Options under Text Editor > Code Cleanup, a new option allows users to enable the Code Cleanup on explicit save as well as to select the profile to run. Note that this option will not cause Code Cleanup to be run on autosave.

Git Tooling

IDE

  • Added ability to toggle color scheme to color your tabs by File Extension or Project.
  • Added capability to customize tab colors when color tabs are enabled. Right-click on a color tab and select Set tab color.

Installation and Updates

  • We have reduced the number of reboots required after installation.
  • Required reboots were frequently caused by updating Visual C++ Runtime files in the system directory while they were in use. Those files are normally updated correctly; a reboot is needed only to clean up the replaced files. In these cases, the VS Installer now shows a recommended reboot dialog.
  • When the recommended reboot dialog is displayed, the customer may launch the Visual Studio IDE immediately (without rebooting).
  • Added information about LTSC channel expiration dates to the Update Settings dialog.
  • Added ability to programmatically change the source location of updates independently of actually performing the update. This enables IT admins to programmatically change the update channel.

Microsoft Azure App Services Attach to Process

  • You can now attach to your .NET (Framework. Core, or 5+) for Windows App Service without a solution or project open. Open the Attach to Process Dialog > Change the Connection Type to Microsoft Azure App Services > Select Find > Select your Subscription and then find your App Service under the resource group and choose Okay. Find the process you want to connect to and select Attach.

Microsoft Teams developer tools

  • Teams Toolkit is a Visual Studio Extension to help developers create experiences for Microsoft Teams and is part of the Microsoft Teams Framework (TeamsFx). Learn more about Teams Toolkit and TeamsFx on GitHub and in the Microsoft Teams documentation.
  • You may now choose the Microsoft Teams development tools component in the ASP.NET web development workload in the Visual Studio Installer.
  • Installing this component adds the Teams Toolkit extension. Use the new Microsoft Teams App project template to get started creating a new Teams tab application.

.NET Productivity

  • There is now IntelliSense completion for await within an awaitable expression. Start typing an awaitable expression and notice how await will now show up in the completion list.

  • There is now a refactoring to move static members to a new type. Place your cursor on a static member. Press (Ctrl+.) to trigger the Quick Actions and Refactorings menu. Select Move static members to another type.... This will open a dialog where you can select the members that you would like to move.

    Move static members to another type refactoring

  • There is now a refactoring to simplify code to use the new C# 10.0 extended property patterns. Using extended property patterns reduces noise allowing you to reference nested members instead of nesting another recursive pattern. Place your cursor on a nested member reference. Press (Ctrl+.) to trigger the Quick Actions and Refactorings menu. Select Simplify property pattern. Simplify property pattern refactoring

  • There is now a refactoring that detects variable swaps and suggests using a tuple to swap values so instead of using a temporary variable in-order to swap arguments you can use a tuple. Place your cursor on a temporary variable assignment where you are swapping values. Press (Ctrl+.) to trigger the Quick Actions and Refactorings menu. Select Use tuple to swap values. Use tuple to swap values refactoring

  • The Code Definition Window now supports C# and Visual Basic. To use the Code Definition Window, either press (Ctrl+W,D) or select View > Code Definition Window. Next, place your cursor on an identifier to navigate and explore code.
    C# and Visual Basic support in the Code Definition Window

  • There is now a refactoring to enable nullable reference types across a project. You can enable nullable reference types by adding the <Nullable>enable</Nullable> element to your project file or add the #nullable enable pragma to every source file in your project. To help streamline this process we now automatically include the <Nullable>enable</Nullable> for new .NET projects. For existing .NET projects, you can enable nullable reference types by placing your cursor on a #nullable enable pragma. Press (Ctrl+.) to trigger the Quick Actions and Refactorings menu. Select Enable nullable reference types in a project. Enable nullable references types across a project refactoring

  • Signature Help has improved its display when a tuple appears many times within a signature. The simplified view includes the Structural Type key to show you what is contained in the tuple.

  • You can now understand errors and warnings at a glance without needing to hover your cursor over a line of code with Inline Diagnostics. Inline Diagnostics is disabled by default so you will need to enable it in Tools > Options > Text Editor > C# or Basic > Advanced and select Display diagnostics inline (experimental). Inline Diagnostics

  • We now surface embedded source and Source Link as part of Go to Definition if a referenced assembly has embedded source or Source Link. This allows you to navigate to the original source files that declare the target symbol. Place your cursor on a symbol and press F12 to navigate to the original source file. Source Link Navigation

  • There is now a Stack Trace Explorer Window that displays stack traces from the clipboard allowing you to click and navigate directly to the related code. By default, if you copy a stack trace from your solution and then switch focus to the Stack Trace Explorer window, the stack trace will automatically appear. To open the Stack Trace Explorer window, go to View > Other Windows and select Stack Trace Explorer. Stack Trace Explorer window

  • In Visual Studio 2019 we introduced a new UI for EditorConfig. EditorConfig files help to keep your code consistent by defining code styles and formats. These files can live with your code in its repository and use the same source control. This way the style guidance is the same for everyone on your team who clones from that repository. In this release we added Naming Styles to the EditorConfig UI. To add an EditorConfig file to a project or solution, right click on the project or solution name within the Solution Explorer. Select Add New Item. In the Add New Item dialog search for EditorConfig. Select the .NET EditorConfig template to add an EditorConfig file prepopulated with default options. Notice the new EditorConfig UI and the new Naming Styles option. EditorConfig Naming Styles

Other Improvements

  • Go To Definition from source information in PDBs.
  • IntelliSense completion for await within an awaitable expression.
  • Move static members to a new type refactoring.
  • Simplify code to use the new C# 10.0 extended property patterns refactoring.
  • Detect variable swaps and suggest using a tuple to swap values refactoring.
  • Code definition window support for C# and Visual Basic.
  • Enable nullable reference types across a project refactoring.
  • Signature help simplified view improvements when a tuple appears many times within a signature.
  • Understand errors and warnings at a glance with inline diagnostics.

Thank You

  • Last but certainly not least, a big Thank You to the following people who contributed this month to .NET Productivity (a.k.a. Roslyn):

.NET Hot Reload

  • Multiple improvements to .NET Hot Reload for developers building Blazor Applications, including resolutions for the following issues:
    • Blazor developers building WebAssembly (Wasm) apps would sometimes see a rude edit dialog when the changes were actually applied or see the rude edit dialog appear multiple times.
    • Blazor developers building WebAssembly (Wasm) apps would get into a permanent rude edit state if they used the rebuild feature of the rude edit dialog and then attempted to make changes to Razor files.
    • Blazor developers would sometimes see their Hot Reload session terminate when running their app through the Visual Studio debugger (F5).
    • Blazor developers would see the Visual Studio debugger break with “Unable to stop debugging...” message if they tried to edit error.cshtml file and apply changes to it using .NET Hot Reload. More bug fixes will be made in future releases of Visual Studio as we strive to improve this feature's capability and stability. If you encounter any problems, please report them using Visual Studio's Report a Problem feature.

Performance

  • Faster solution close performance by optimizing cleanup operations when closing a solution.
  • Visual Studio now indexes your files in your codebase to provide a much faster Find in Files search experience. Disable indexed searching in Tools > Options > Environment > Preview Features and toggle Enable indexing for faster find experience.

Razor (ASP.NET Core) Editor

  • Razor will now add missing using directives if a quick action requires one.

Solution Filters

  • Added an option to load or reload the entire dependency tree for the projects in your Solution Filter. When new projects are added to the dependency tree but haven't been manually added to your Solution Filter, you can easily add all the dependencies at once.
  • This option (Update Project Dependencies) is in the context menu of the solution node (right click on the solution in the solution explorer).

Test tools

  • A test animation now appears in the bottom of the Visual Studio shell when a test operation is underway. It's similar to the build animation and lets you know what Visual Studio is working on and gives you an indicator that the process hasn't crashed.
  • Code coverage tools can now produce the cobertura code coverage format. You can enable this in runsettings by adding <Format>Cobertura</Format> in the DataCollector configuration section in your runsettings file. This format can be viewed in the code coverage results window in Visual Studio Enterprise.
  • You can also collect with the cobertura format from the cli by either specifying it in the runsettings file or specifying it in a parameter. For the dotnet cli use dotnet test --collect:"Code Coverage;Format=Cobertura". For vstest use vstest.console.exe /collect:"Code Coverage;Format=Cobertura". The collect parameter will override the format specified in runsettings.

Web Tools

  • When provisioning and selecting Azure resources Visual Studio remembers the selections you previously made for fields "Resource Group" and "Location" instead of always defaulting to the first entry in the list. Even when a previous selection is not available Visual Studio now calculates the nearest geographical location and picks that by default.
  • Publish profiles are now always listed alphabetically in the drop-down located at the top of the Publish summary page as well as the drop-down in the Visual Studio toolbar called Web One Click Publish.
  • Tooling support for Azure Container Apps remains in the Visual Studio preview channel. To continue working with Azure Container apps, install the 17.2 Preview 1 release.

XAML Hot Reload

  • XAML Hot Reload now supports more end-to-end scenarios when used together with .NET Hot Reload. We’ve enabled the following scenarios: For WPF and WinUI 3 apps:
  • XAML code editor will now properly show newly created control types and properties created by a .NET Hot Reload operation in IntelliSense.
  • Binding to a newly created property using .NET Hot Reload will now work as expected. For WinUI you can also now use x:Bind to bind to a new property as well. For WPF apps:
  • Adding a newly created method for an event handler created using .NET Hot Reload will now work. Note: While the above scenarios work if the types are first applied using .NET Hot Reload and then XAML Hot Reload is used, there is a known limitation. For example, if you add assign a new property using XAML Hot Reload to a property that has not yet been created and only then use .NET Hot Reload to create it, the XAML change will not see the new property. We are aware of this issue and hope to improve it in the future.

XAML Live Preview

  • We’ve made several improvements to rulers, zoom and element selection behavior.
  • XAML Live Preview now supports .NET MAUI apps (WinUI & Android), though still limited to where .NET MAUI is available.

In this release we have made several improvements to XAML Live Preview, changes include:

.NET MAUI Support (WinUI & Android Emulator): .NET MAUI apps running as either a WinUI 3 app or executed in an Android Emulator are now supported.

(Note: .NET MAUI is not yet supported in every version of Visual Studio, therefore this capability while built-in starting with 17.1 will only be available in those versions where .NET MAUI is available)

Ruler Changes: Rulers now properly display the pixels indicator right-to-left or left-to-right based on your applications configuration. Element Selection Changes: Using the “select element” feature within XAML Live Preview will now always navigate to source. Previously this was a configurable option, but it has been removed in this release and the behavior standardized to avoid confusion. Zooming Improvements: Zooming dropdown now supports automatic “fit all”, “fit width” or “fit height” to make zooming into those scenarios easier. You can also still use the regular percentage zooming or scroll wheel alongside this new capability.

Issues addressed in 17.1

  • Fixed an issue where the DataSet Custom Debugger Visualizer would not work for Remote and Azure App Service debugging scenarios.
  • Added support to cancel a pending "Hot Reload" operation.
  • Fixed incremental deployment issues with Xamarin Hot Restart.
  • Fixed and enabled Code Lenses support for TFS.
  • Fixed bug that would cause misaligned code colorization in Razor and LiveShare scenarios.
  • Visual Studio's C++ intellisense is improved when targeting CMake projects on macOS systems. Visual Studio now processes CMake's CMAKE_OSX_SYSROOT variable when searching for C++ headers.
  • Fixed several issues where using omp task when combining the /openmp:llvm and /ZI would cause the compiler to crash or silently generate bad code.
  • Fixed an issue when Debugging Android applications when Fast Deployment is disabled.
  • Correct an issue causing C2567 when using /experimental:deterministic, /pathmap, and /clr.
  • Fix crashes in ARM64X thunks from /RTC flags.
  • Don't decorate already decorated ARM64EC symbols while linking.
  • We have fixed an issue with the Azure Container Apps workflow generation where the Service principal generation fails if a service principal with the same name is already present.
  • Added <=> and == operators to ATL CString.
  • Updated the linker flags table to allow the -cgthreads and -pdbthreads to differ between in the GENRROFILE and USEPROFILE phases.
  • A problem publishing projects that contain an x86 COM reference with ClickOnce has been fixed.
  • Fixes a VS crash bug, when adding multiple launch profiles in Manage Docker Compose Launch Settings dialog.
  • Fix packaging of no-write-symbols,nodebug AOT'd assemblies within Xamarin.Android applications.
  • The C# compiler would generate incorrect codegen or crash in certain scenarios with interpolated string handlers and from-end indexers in deconstruction assignments. These issues have now been fixed. For more details, see https://github.com/dotnet/roslyn/issues/58514 and https://github.com/dotnet/roslyn/issues/58569.
  • Fix for an intermittent VS crash when WinForms .NET designer is open and some operations are performed on the project.
  • Add ARM64EC to /MACHINE options for link.exe.
  • Fixed an issue where sometimes changes to the CMake Workspace settings file would not take effect.
  • Under some circumstances the publish of a worker service to an Azure Container Apps would silently fail.
  • Fixed an issue where Visual Studio failed to start on Windows 7 machines.

From Developer Community

Please see our full list of Developer Community fixes in this release.


Known Issues

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

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