Visual Studio 2022 17.4 is now available!

Marc Goodner

We are happy to announce that Visual Studio 2022 17.4 is now generally available. This is our first GA release to support Arm64. In addition some of the other prominent features it includes are .NET 7, enterprise support for setup including rollback, and much more detailed below. Thank you for all the feedback you have provided on our previews and previous releases. We strive to use your feedback to focus on what matters the most to keep making Visual Studio great.

To that end, this is a list of your top reported bugs addressed that are part of Visual Studio 2022 17.4. Additionally, here are your feature suggestions shipping in this release.

We welcome your feedback in the threads to this post or through Developer Community. Please continue to share your suggestions for new features or improvements to existing ones and any bugs or issues via report a problem.

.NET 7

.NET 7 is also releasing today and is part of Visual Studio 2022 17.4. Don’t forget to read the announcement. Celebrate and learn about what you can do with .NET 7 at .NET Conf from November 8-10. Over the course of the three days, we provide a wide selection of live sessions that feature speakers from the community and .NET team members. We have sessions streaming 24/7 between day two and three of the conference so everyone can get involved no matter what their time zone. You can ask questions live on Twitter using #dotNETConf, join the fun on Twitch, attend the virtual attendee parties where you can play trivia games and win prizes. Tune in and you’ll likely see many of the speakers using this latest release of Visual Studio 2022.

C++

To find out what’s new for C++ developers, including vcpkg artifacts support and improved Named Return Value Optimization, check out our What’s New for C++ Developers in Visual Studio 2022 version 17.4 blog post.

Arm64

This is the first GA release of Visual Studio that natively supports building and debugging Arm64 apps on  Arm-based processors. This GA will launch with the following workloads enabled:

  • .NET desktop development
  • NET and web development
  • Desktop development with C++
  • Universal Windows Platform development
  • Visual Studio extension development
  • Game development with C++
  • js development

This release includes native performance for the Windows SDK (Win UI 2 and UWP) as well as native support for Win App SDK (Win UI 3)! Please check out our latest Arm64 VS blog post for more details.

We are actively working on MAUI support in our preview channel. Please continue to vote here on the workloads, components, and experiences that are most valuable to you!

Rollback

We strive to ensure that updates are highly compatible, but even so, sometimes our customers want the ability to restore Visual Studio to its previous state.  To address this highly requested feature, Visual Studio is introducing Rollback – the ability to return to your previously installed version of Visual Studio.

Rolling back an update will return Visual Studio to the version installed prior to the last applied update, and it will keep any modifications to selected components chosen since that last update. For more information, please visit Troubleshoot installation or upgrade issues.

IT administrators can control this update behavior by using a policy that disables the ability to Rollback. Please refer to Configure policies for enterprise deployments for more information.

Enterprise Support

LTSC Support for version 17.4

We continue to invest in Visual Studio to provide capabilities that enable your development needs, your team, and those of your organization. Version 17.4 is the third long term servicing channel (LTSC) for Visual Studio 2022.  The 17.4 LTSC release will be supported until July 11, 2024. Servicing channels provide large organizations with increased flexibility over when they choose to adopt new features released with minor version updates to Visual Studio editions.

Delivering Security Updates to Cloud Connected Devices enrolled in Windows Update for Business

Visual Studio Security updates are now available for IT Administrators to deploy to cloud connected (Azure Active Directory joined) devices within their organization.  The devices must be opted into Windows Update for Business (WUfB) appropriately, including having the “AllowMUUpdateService” policy set, and be opted into receiving Visual Studio Administrator Updates via this new channel. You can use Microsoft Endpoint Manager (formerly known as Intune) to manage all of this.  This capability should make it easier for enterprises to keep their machines updated and secure.  For more information, refer to the upcoming Delivering Visual Studio Security Updates to Cloud Connected Machines blog post announcement or the Visual Studio Administrators Guide.

Manage Policies using Visual Studio Administrative Templates

We are pleased to announce the availability of the new Visual Studio Administrative Templates (ADMX/ADML) which contain all of the Visual Studio group policy settings. These templates make it easy for IT Administrators to discover what policies are available to configure and control Visual Studio functionality. These templates also include policies for Visual Studio Live Share, which will enable IT Administrators to set boundaries on who can start or join Live Share sessions, if read-write terminals and servers can be shared and more. For more information on which policies are supported and how to get started with enabling Visual Studio Live Share policies, please see our documentation.

Furthermore, it’s easy to integrate these ADMX files with common management and deployment tools such as Group Policy Editor or Microsoft Endpoint Manager (either SCCM or Intune) to deploy configuration settings to client machines across the organization.  More information can be found in the upcoming Visual Studio Administrative Templates blog announcement or the Visual Studio Administrators Guide.

Removing Out-of-Support Components

Visual Studio is a rich IDE that provides an abundant collection of tools and functionality for you to use in every stage of software development. As we all know, technologies change over time, some faster than others; consequently certain independent components that are initially included with Visual Studio may go out of support faster than the IDE itself.  When a component transitions to “out of support”, it will not receive any future updates, which essentially means that it can become insecure.  We’re happy to announce that now, using the latest Visual Studio 2022 installer, it will be possible to easily bulk remove all independent components from your installation that have transitioned to an “out of support” state. You will be able to do this either on demand or persistently, manually through the UI, programmatically, or by machine wide policy, and you’ll also be able to manage both your client machines and your layouts. This functionality can also be extended to your Visual Studio 2019 and 2017 installations.  By using this new feature when you perform updates, you will be better able to keep your machine secure.  Refer to the upcoming Remove Out-of-Support Components blog announcement for further details.

Collaboration and Teams

Visual Studio enables collaboration for developers whether that is between individuals, part of contributing or using open source projects, and enabling your team to accomplish more.

Git Tooling

You can now untrack and ignore tracked Git files from both Solution Explorer and Git Changes tool windows.

Animation showing adding files to gitignore from solution explorer and git changes tool windows

In line with a recent Git security update, we have enhanced the user experience of trusting single and multiple Git repositories by improving repository status and utilizing a new trust dialog

Multi-Repository Support Released

Support for multiple repositories means you can have up to 10 active Git repositories at once, allowing you to work with a solution that spans more than one repository and view the histories and files of several repositories at the same time. Start using multi-repo support by opening a solution or folder with projects across several repositories. Learn more here.

Microsoft Teams Toolkit

Teams Toolkit for Visual Studio makes it simpler to create, run, and debug apps for Microsoft Teams using .NET. Using Teams Toolkit, you can create new apps using the Microsoft Teams App project template. Next, you can manage your Microsoft 365 account and automatically register and configure your app so that it’s ready to debug right from Visual Studio.

If you want to host your app projects in Azure, Teams Toolkit for Visual Studio includes features that provision and deploy using an infrastructure-as-code approach with Bicep.

Dialog for creating a new Teams application

Learn more about Teams Toolkit by visiting the documentation.

Ecosystem

You can now write and migrate your extensions for Arm64 Visual Studio!  Check out this blog post announcing Arm64 extensions to learn more.

VisualStudio.Extensibility is a new extensibility model that lets you create more reliable, easier-to-write extensions. Phase 2 of this new model is here, now letting you write richer, non-language-based productivity extensions. VisualStudio.Extensibility also introduces new APIs where you can add custom tool windows, user notifications, and additional command types to your extensions!

To learn more and to start writing your VisualStudio.Extensibility extensions, check out this blog post and go to our VSExtensibility GitHub repo!  Also, be on the lookout for an upcoming video miniseries showing how you can start writing your VisualStudio.Extensibility extensions!

Image toolwindowexample

Productivity

Selection Match Highlighting

The selection match highlighting is a new feature to help you quickly find additional occurrences of a string in the document you’re editing. In Tools\Options, check Text Editor > General for the new “Show selection matches” option. When it’s checked, any time you select something in your editor, anywhere else that exact string occurs will be subtly highlighted both in the editor and in the scrollbar. Currently, it only works for strings less than 200 characters in length and all on a single line, but our goal is to make it easier to notice when and where a string is in use.

A capture from Visual Studio showing the Selection Match Highlighting. The string "Catalog" is selected on line 47, and all instances of the string "Catalog" are highlighted in blue. The scrollbar on the right also shows grey ticks indicating where other matches can be found throughout the document.

We intentionally chose subtle colors since we found brighter colors to be distracting, but if you want to change the colors, you can find “Selection Match Editor Highlight” and “Selection Match on Scrollbar” in the Fonts and Colors page of Tools\Options. Both of these are “Text Editor” settings.

Audio Cues

Visual Studio now has audio cues available to associate sounds with common activities. When enabled, Visual Studio will play a sound when the caret in the editor arrives on a line with a break, warning or error. It will also play a sound when the caret arrives on a line that has been added or deleted when viewing a file in a diff view.

To enable the audio cues, head to the Text Editor\General page of Tools\Options and check the “Enable audio cues” option near the top of that page. You may need to restart Visual Studio after checking the option.

We’re working closely with Visual Studio Code and Visual Studio for Mac to create an audio language that will be shared throughout the three products. Our long term vision is to share sounds so that users we be able to learn one set of sounds and use them across the Visual Studio family. However, if you would like to configure the individual sounds, including disabling any of them, you can use the Sounds Control Panel in Windows to change or disable any of the sounds in Visual Studio.We added the audio cues for added and removed lines based on customer feedback, so if you’ve got more audio cues that you want to hear, let us know. We’ve created a developer community ticket as a great place to start.

DataTable Visualizer

The DataTable visualizer has gotten a number of new features in Visual Studio 2022. DataTable Visualizer improvements covers the updates here in depth.

Dev container detected info bar with options

 

Exception Stack frames in Call Stack Window

The new Exception stack frames inside the Call Stack window will provide all functionalities of the actual call stack.

It will provide 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.

Exception stack view in Visual Studio

Clear Test Results and Filters in Test Explorer

The Test Explorer now has a way to clear results for a test or list of tests. Whether you are switching branches or bringing focus to a set of test results that matter or want to declutter old test results, you can start from a clean slate. You can clear test results on a test or a list of tests in the Test Explorer. You can also clear test results from the top-level Test menu if all results need to be cleared.

Sequence of images showing context menus for Test Explorer in Visual Studio

You now have a clear indication that the Test Explorer is filtered and clear all test filters applied with a single-click. This clears filters on test results state (or) filters on columns in the test list (or) filters in the search box (if they are applied).

Test Explorer menu highlighting options that show results are filtered

Performance

We have made the following performance enhancements in this release.

Git branch switching

We have made certain branch switches faster in 17.4. This was achieved by reducing the number of branch switches that require a solution reload.

Responsive File Save

Visual Studio no longer becomes unresponsive during Save operations. This enhancement is most noticeable when working on slow hard drives, network shares or editing exceptionally large files.

C++ Indexing

We are also continuing to improve the performance of the IDE. In this release, we improved indexing performance when opening a new solution. Large projects could see a 20-35% improvement from 17.3.

Find and Replace in Files

Replace in Files on the entire solution is now 3-4 times faster! You’ll see a significant improvement in how fast you can do a bulk replacement in a large solution. The modified files will no longer be opened, but you can still undo and redo the change. Stay tuned for continued performance enhancements to the Find and Replace experience.

Language service configuration switch optimization

In 17.4 release, we are excited to share that we made several performance improvements to address several long-standing issues during the configuration switch scenario. This in addition to performance improvements also improved the interactivity and tackled several UI hangs improving the customer experience within VS.

Unit Test Performance improvements

Parallel Test discovery

In solutions with multiple test projects, the Test Explorer now discovers the presence of tests in different test projects in parallel. This means tests are discovered and displayed in the Test Explorer much faster!   In our tests, we have seen test discovery complete twice as fast on a large solution with greater than 150 projects and close to 300K tests (on a machine with 10 CPU cores).

Efficient parallelization of test runs

Test assemblies are now optimally parallelized across Target Frameworks and Architectures resulting in test runs that are three times faster on a large solution with greater than 150 projects.

Optimized communication between VS and test runner processes

The test runner process connections are now established sooner. This means saving around 1 second on average per test assembly included in the test run. This leads to significant speed up for test runs involving a small number of tests. The communication between test runners and VS has also been tuned to be less chatty and more efficient. This leads to noticeable improvement especially for test discovery (up to 30% speed gain in many cases).

What’s Next? Visual Studio 2022 17.5 Preview 1

With each GA release of Visual Studio, we also release the first preview of our next release, 17.5.

This release continues to enhance our ARM64 support, MAUI tooling, core productivity features, cloud tooling and improves performance for large solutions. Some of the new innovations in this release include:

  • Tooling to publish to Azure container registry and Azure Container Apps without docker dependencies
  • SQL Server 2022 support in SQL projects
  • Deeper support for Markdown
  • Tab coloring with regular expressions
  • A new Quick Add Item experience
  • Integrated terminal as an F5 target for web projects
  • Integration with Windows Authentication Broker (WAM) for improved sign in
  • In proc VSIX support for SDK style projects

Your feedback is critical to make sure each of these experiences meets your expectations and remember preview releases install side-by-side with the current GA release, so you do not have to worry about any bugs getting in your way.

Download Visual Studio 2022 17.5 Preview 1 to try the latest enhancements coming in the next release. Share your feedback and help us build a better Visual Studio!

As you use Visual Studio, let us know what you love, what you like, and where you’d like us to improve. You can share feedback with us via Developer Community: report any bugs or issues via report a problem and share your suggestions for new features or improvements to existing ones.

As always, we appreciate the time you’ve spent reporting issues and hope you continue to give us feedback on how we’re doing and what we can improve.

78 comments

Discussion is closed. Login to edit/delete existing comments.

    • Marc GoodnerMicrosoft employee 0

      Thanks, it should be live now.

  • Eugene Ivanoff 0

    When it will be available for download?

    • MarcMicrosoft employee 0

      Can you provide details on what you mean by the 7.0.100 SDK is broken? What behavior are you seeing? The 7.0.101 SDK from the installer page is about to be removed since we’re in servicing (it doesn’t include the rtm runtime yet).

      • Vassily Godunov 0

        I saw that all my projects were unloaded due to an SDK module conflict exception. I didn’t copy the text of the error, installed build 101 and the error was gone.
        PS
        I think that “internal finishing” bypassing community testing was not the best choice.

  • Nick Heath 1

    Doesn’t let me load ANY project, or create a new project. Excellent…

    • Steven Díaz Gómez 0

      Hi Nick!
      [Workaround]
      In folder C:\Program Files\dotnet\sdk-manifests
      Do backup of 7.x.xxx folder.
      Remove the 7.x.xxx folder.
      Now try to create or load a solution.

    • Marc GoodnerMicrosoft employee 0

      Thanks, fixed.

    • Marc GoodnerMicrosoft employee 0

      We’re working on it. Should be fixed soon.

  • Jorge García 0

    The changes are very good, however i can’t see the current Repository and Branch at first look. In the Status Bar only show Manys… You shoud propose to the user the options for see the current branch.

    • Luke Hansen (DEVDIV)Microsoft employee 0

      Hi Jorge,
      It sounds to me like you might have multiple active repositories open in VS? (thank you, by the way, for trying out the feature)

      I’m looking to understand more about the scenario where you’re only seeing many active repositories. It sounds like you might be expecting the repository filter in “Git Changes” to apply to the statusbar as well? I’d love to hear your thoughts on how we could improve the feature.

      Thanks!
      Luke

  • Johannes Weiman 1

    There should be separate entries in the installer for .NET SDK 6 and 7.
    As it is now .NET 6 SDK is uninstalled when you upgrade which is not very nice.
    (I see there are already a couple of bug reports on this.)

    • MarcMicrosoft employee 0

      Johannes, thank you for the feedback. The 7.0.100 SDK can be used to build 6.0 and below applications and is designed to run in 17.4 with matching tools and compilers. The 6.0.400 SDK has 17.3 matching tools and compiler and while we don’t block it from being used with 17.4, it’s not recommended as you’ll have a mismatched set of tools. Our guidance for most customer scenarios is to use the latest SDK regardless of what .NET version you are targeting.

      May I ask why you want to stay on the 6.0.400 SDK? Are there changes in 7.0.100 that you don’t want to pick up?

      • Johannes Weiman 1

        We have .NET 6 SDK specified in global.json. Your suggestion would require us to update that and all user installations at the exact same time, which is not feasible.

        • MarcMicrosoft employee 0

          May I ask why you chose to specify the SDK in a global.json? Were there specific changes in 7.0.100 that you didn’t want to pick up that would break you? We generally discourage use of global.json unless absolutely necessary and we try to limit any behavior changes to applications targeting a new TFM.

          Upgrading Visual Studio upgraded your Roslyn, Nuget, and MSBuild versions. Why did you want to avoid upgrading the SDK in particular?

  • Robert Mcmillan 2

    11:57:17:398 ========== Elapsed 31:18.944 ==========
    Oh.. My.. Gosh.. I cannot tell you how happy you have made me. I have waited decades for Visual Studio to just print the elapsed build time and you finally did it! Thank you SO MUCH!
    Build times == productivity and being able to simply measure the effect of source code changes, settings changes, and different hardware is a gift.

  • Krešimir Grozdek 2

    I’ve upgraded VS.NET to v. 17.4.0, installed .NET 7 SDK (dotnet-sdk-7.0.100-win-x64.exe) and rebooted.
    In VS.NET, in the Project properties window .NET 7 is not available.
    I’ve checked PATH environment variable, and it’s ok. If I change TargetFramework variable in .csproj file to net7.0 following error occurs:
    “The current .NET SDK does not support targeting .NET 7.0. Either target .NET 6.0 or lower, or use a version of the .NET SDK that supports .NET 7.0.”
    If I don’t change TargetFramework and leave it to be as it was (net6.0) build throws the following error:
    “Unhandled exception. System.IO.FileNotFoundException: Could not load file or assembly ‘System.Runtime, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a’.”
    Am I missing something?

    • Krešimir Grozdek 1

      So, after rolling back VS.NET to v. 17.3.6, installing .NET 6 SDK (again), and reboot I can finally continue to work normally.
      I’ll stick with .NET 6 for a while, until .NET 7 and VS.NET bugs are fixed.

      • MarcMicrosoft employee 0

        It sounds like you have already reverted back to 17.3. If you go forward to 17.4 again and hit this same issue, can you please share the results from dotnet –info? It sounds like your 17.4 VS was using the 6.0 SDK for some reason. The most common cause of that is having a global.json in your project that pins you to an older SDK version.

        • Krešimir Grozdek 0

          Yes, I’ve reverted back, and installed .NET 6 SDK because from some unknown reason VS.NET 17.3.6. didn’t want to build anything. It complained that .NET 6 is missing. But, in dotnet –info it was listed. After installing .NET 6 SDK again it finally worked.
          After upgrading VS to 17.4. and installing .NET 7 SDK dotnet –info showed .NET 6 and .NET 7 SDKs. Everything seemed to be ok.
          And, à propos global.json file, I don’t have it in the project.
          Next time when I’ll try to upgrade to VS 17.4. I’ll post results of dotnet –info here. Unfortunately, I can’t do that now because I have some work to do. Thnx for trying to solve the problems.

          • MarcMicrosoft employee 0

            Thanks for the details. Definitely let us know when you next try the upgrade if it happens again and what the details are and we’ll look into it. Thanks.

        • Justin Patterson 0

          I am having the same issue. Here is the output from dotnet –info

          .NET SDK:
           Version:   7.0.100
           Commit:    e12b7af219
          
          Runtime Environment:
           OS Name:     Windows
           OS Version:  10.0.19045
           OS Platform: Windows
           RID:         win10-x64
           Base Path:   C:\Program Files\dotnet\sdk\7.0.100\
          
          Host:
            Version:      7.0.0
            Architecture: x64
            Commit:       d099f075e4
          
          .NET SDKs installed:
            7.0.100 [C:\Program Files\dotnet\sdk]
          
          .NET runtimes installed:
            Microsoft.AspNetCore.App 5.0.17 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
            Microsoft.AspNetCore.App 6.0.11 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
            Microsoft.AspNetCore.App 7.0.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
            Microsoft.NETCore.App 5.0.17 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
            Microsoft.NETCore.App 6.0.11 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
            Microsoft.NETCore.App 7.0.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
            Microsoft.WindowsDesktop.App 5.0.17 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
            Microsoft.WindowsDesktop.App 6.0.11 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
            Microsoft.WindowsDesktop.App 7.0.0 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
          
          Other architectures found:
            x86   [C:\Program Files (x86)\dotnet]
              registered at [HKLM\SOFTWARE\dotnet\Setup\InstalledVersions\x86\InstallLocation]
          
          Environment variables:
            Not set
          
          global.json file:
            Not found
          
          Learn more:
            https://aka.ms/dotnet/info
          
          Download .NET:
            https://aka.ms/dotnet/download

          Also here is a stack overflow question.

          https://stackoverflow.com/questions/74367760/unhandled-exception-system-io-filenotfoundexception-could-not-load-file-or-ass

          • Justin Patterson 0

            Everyone working this project is having the same issue after updating visual studio.
            Here is the dotnet –info from another dev

            .NET SDK:
             Version:   7.0.100
             Commit:    e12b7af219
            
            Runtime Environment:
             OS Name:     Windows
             OS Version:  10.0.19042
             OS Platform: Windows
             RID:         win10-x64
             Base Path:   C:\Program Files\dotnet\sdk\7.0.100\
            
            Host:
              Version:      7.0.0
              Architecture: x64
              Commit:       d099f075e4
            
            .NET SDKs installed:
              2.1.200 [C:\Program Files\dotnet\sdk]
              2.1.202 [C:\Program Files\dotnet\sdk]
              2.2.207 [C:\Program Files\dotnet\sdk]
              3.1.425 [C:\Program Files\dotnet\sdk]
              6.0.306 [C:\Program Files\dotnet\sdk]
              6.0.401 [C:\Program Files\dotnet\sdk]
              6.0.403 [C:\Program Files\dotnet\sdk]
              7.0.100 [C:\Program Files\dotnet\sdk]
            
            .NET runtimes installed:
              Microsoft.AspNetCore.All 2.2.8 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
              Microsoft.AspNetCore.App 2.2.8 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
              Microsoft.AspNetCore.App 3.1.31 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
              Microsoft.AspNetCore.App 5.0.17 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
              Microsoft.AspNetCore.App 6.0.11 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
              Microsoft.AspNetCore.App 7.0.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
              Microsoft.NETCore.App 2.0.7 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
              Microsoft.NETCore.App 2.0.9 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
              Microsoft.NETCore.App 2.2.8 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
              Microsoft.NETCore.App 3.1.31 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
              Microsoft.NETCore.App 5.0.17 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
              Microsoft.NETCore.App 6.0.11 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
              Microsoft.NETCore.App 7.0.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
              Microsoft.WindowsDesktop.App 3.1.31 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
              Microsoft.WindowsDesktop.App 5.0.17 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
              Microsoft.WindowsDesktop.App 6.0.11 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
              Microsoft.WindowsDesktop.App 7.0.0 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
            
            Other architectures found:
              x86   [C:\Program Files (x86)\dotnet]
                registered at [HKLM\SOFTWARE\dotnet\Setup\InstalledVersions\x86\InstallLocation]
            
            Environment variables:
              Not set
            
            global.json file:
              Not found
        • Rainer Mager 0

          I’m also having the same issue. I have a similar –info output is the others, and only have SDK 7.0.101 installed. I also tried creating a global.json with that version, but it didn’t help.

      • Krešimir Grozdek 0

        Update…
        I’ve uninstalled VS.NET 2022 completely, rebooted and installed latest version of VS.NET 2022. (v 17.4.2).
        Here is the dotnet –info after installation:
        .NET SDK:
        Version: 7.0.100
        Commit: e12b7af219

        Runtime Environment:
        OS Name: Windows
        OS Version: 10.0.19044
        OS Platform: Windows
        RID: win10-x64
        Base Path: C:\Program Files\dotnet\sdk\7.0.100\

        Host (useful for support):
        Version: 6.0.5
        Commit: 70ae3df4a6

        .NET SDKs installed:
        3.1.425 [C:\Program Files\dotnet\sdk]
        5.0.103 [C:\Program Files\dotnet\sdk]
        5.0.104 [C:\Program Files\dotnet\sdk]
        5.0.203 [C:\Program Files\dotnet\sdk]
        5.0.214 [C:\Program Files\dotnet\sdk]
        5.0.303 [C:\Program Files\dotnet\sdk]
        5.0.408 [C:\Program Files\dotnet\sdk]
        6.0.202 [C:\Program Files\dotnet\sdk]
        6.0.203 [C:\Program Files\dotnet\sdk]
        6.0.300 [C:\Users\kreso\dotnet\sdk]
        6.0.306 [C:\Program Files\dotnet\sdk]
        6.0.403 [C:\Program Files\dotnet\sdk]
        7.0.100 [C:\Program Files\dotnet\sdk]

        .NET runtimes installed:
        Microsoft.AspNetCore.All 2.1.25 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
        Microsoft.AspNetCore.All 2.1.30 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
        Microsoft.AspNetCore.App 2.1.25 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
        Microsoft.AspNetCore.App 2.1.30 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
        Microsoft.AspNetCore.App 3.1.12 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
        Microsoft.AspNetCore.App 3.1.31 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
        Microsoft.AspNetCore.App 5.0.3 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
        Microsoft.AspNetCore.App 5.0.4 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
        Microsoft.AspNetCore.App 5.0.9 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
        Microsoft.AspNetCore.App 5.0.10 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
        Microsoft.AspNetCore.App 5.0.17 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
        Microsoft.AspNetCore.App 6.0.5 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
        Microsoft.AspNetCore.App 6.0.5 [C:\Users\kreso\dotnet\shared\Microsoft.AspNetCore.App]
        Microsoft.AspNetCore.App 6.0.11 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
        Microsoft.AspNetCore.App 7.0.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
        Microsoft.NETCore.App 2.1.25 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
        Microsoft.NETCore.App 2.1.30 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
        Microsoft.NETCore.App 3.1.12 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
        Microsoft.NETCore.App 3.1.31 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
        Microsoft.NETCore.App 5.0.3 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
        Microsoft.NETCore.App 5.0.4 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
        Microsoft.NETCore.App 5.0.9 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
        Microsoft.NETCore.App 5.0.17 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
        Microsoft.NETCore.App 6.0.4 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
        Microsoft.NETCore.App 6.0.5 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
        Microsoft.NETCore.App 6.0.5 [C:\Users\kreso\dotnet\shared\Microsoft.NETCore.App]
        Microsoft.NETCore.App 6.0.11 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
        Microsoft.NETCore.App 7.0.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
        Microsoft.WindowsDesktop.App 3.1.12 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
        Microsoft.WindowsDesktop.App 3.1.31 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
        Microsoft.WindowsDesktop.App 5.0.3 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
        Microsoft.WindowsDesktop.App 5.0.4 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
        Microsoft.WindowsDesktop.App 5.0.9 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
        Microsoft.WindowsDesktop.App 5.0.17 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
        Microsoft.WindowsDesktop.App 6.0.4 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
        Microsoft.WindowsDesktop.App 6.0.5 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
        Microsoft.WindowsDesktop.App 6.0.5 [C:\Users\kreso\dotnet\shared\Microsoft.WindowsDesktop.App]
        Microsoft.WindowsDesktop.App 6.0.11 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
        Microsoft.WindowsDesktop.App 7.0.0 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]

        To install additional .NET runtimes or SDKs:
        https://aka.ms/dotnet-download

        When I open existing .net 6 project VS.NET still don’t offer .NET 7 as target framework in project properties.
        If I change target framework manually in .proj file, the following error occures:
        “Error NETSDK1045 The current .NET SDK does not support targeting .NET 7.0. Either target .NET 6.0 or lower, or use a version of the .NET SDK that supports .NET 7.0.”

        I’ve tried to repair .NET 7 SDK installation, but nothing changed. I seems I’ll have to revert to old version of VS.NET again.

        • Krešimir Grozdek 0

          Solution found! Everything works now!
          Problem was in “Path” environment variable.
          Under system environment variables there was entry “C:\Users\kreso\dotnet\” and it seems that that var messed up everything.
          Beside that var, there was regular Path var “C:\Program Files\dotnet\”. Why the first var was messing up things, God only knows, but now everything works just fine.

  • Jan Seriš 0

    The new rename dialog in C# editor (new style in 17.4, appears near the text (17.4) instead of topright in the editor window (17.3)) disappears when you click inside the edited text by mouse!
    That did not happen with the rename dialog in 17.3 and before.

  • Noah GilsonMicrosoft employee 0

    FYI: If you are encountering problems loading or building your project(s) — it may be this known issue with workloads in the .NET 7 SDK and .NET 7 Preview SDK installations mentioned here: .NET 7 Known Issue

  • Jens Samson 3

    Released way too soon.
    My fans spin up every 5 minutes due to high processor usage (which it did not do on 17.3).
    It puts red squiglies in commented out code but the error window is empty.
    Navigating back and forth brings me to all sorts of places but not the ones I was before.
    Get your act together.

    • Jan Seriš 0

      I have this problem as well. VS 17.4 in C# editor spins 1 CPU core to 100 % for nothing and does not end before restarted. Also some syntax error underlining is not dismissed after fixing. It’s just broken as Blazor editor in 17.2 and 17.3.
      I am reverting to 17.3.6. (first time revering, first time that VS is broken in new version)

        • Jan Seriš 2

          The Visual Studio feedback experience is very frustrating.
          I have already filled 50+ feedback reports for Blazor in VS 2022 since December 2021.
          It was not possible to write XML C# docs properly and code formatting and syntax and error highlighting did not work properly in Blazor editor for almost half a year.
          Most of them were ignored, misunderstood by the unexperienced testers (e.g. they did not understand the issue because it seemed like they never worked with Blazor editor in VS 2022) or closed as low priority/small developer audience issues.
          And moreover the “Recording” feature on VS Feedback does not actually capture video but only some screenshots in a frequency of seconds so my repro steps were useless in more than 10 issues!
          I always had latest VS 2022 update installed when filling these feedbacks.
          I don’t know why but products as MAUI and VS 2022 are very improperly tested. Basic scenarios which a common programmer encounters are wrong (I could not understand how the testers could miss them). This is not a good level of standard.

    • Nayana SrikanthMicrosoft employee 0

      Thanks for the feedback. Please report a problem, we will look into it. Instruction for reporting a problem is here

      • Jan Seriš 0

        From my experience with VS feedback there is no point in reporting this because it cannot be described exactly or reproduced so it will be marked as missing info forever.

    • Niels Pardons 0

      Same here. It’s easy to reproduce by making a constants file, i.e. a file with some classes with in total hundreds or thousands of const strings. Doubleclicking to select something, selecting something with the mouse or even scrolling through that file becomes extremely slow. I can see in task manager the devenv.exe using a core of my CPU completely when you have that file open.

  • Przemysław Wasylko 0

    Where is ‘New Visual Studio Search Experience’? It seems it did not make through.

    • Leah TranMicrosoft employee 0

      We’re still in the process of developing and iterating on the new search experience, so for now it will continue to be available only through the Preview channel.

  • Vincent Voyard 1

    Just updated to 17.4.0 this morning.
    Allmost everything seems ok, sadly it’s impossible to run any .NET Framework test with Visual Studio 2022 17.4.

    Everything was fine in 17.3 and it still works in Visual Studio 2019 (so I can run my tests).
    But 2019 really looks old and is slower than 2022 (you did quite a good job with performance).

    Whatever the test or the test library, the test explorer will detect the tests (if real time discover from code is enabled) but when you try to run anything, it will allways show “0 tests”.
    If the real time discover is disabled, the test explorer won’t show anything.
    I’ve checked with XUnit and MSTests (Microsoft.VisualStudio.TestTools.UnitTesting).

    Weirdly, at first, my tests in .NET 6 didn’t work at all with the exact same problem (“0 tests” message).
    Then I’ve created in a new solution a new xUnit test library from scratch in .NET 6 to check if I missed something, and it worked right way.
    Then my previous .NET 6 test libraries started to work all of a sudden without changing anything !

    Really simple to reproduce, create a new library, set TargetFramework to net48 (or any net4xx), add nuget xunit and xunit.runner.visualstudio, create an empty test and run it.
    Or create a .NET 6 xUnit library and revert TargetFramework to net48 (with <LangVersion>latest</LangVersion> to avoid the compile errors).

     <Project Sdk="Microsoft.NET.Sdk">
      <PropertyGroup>
        <TargetFramework>net48</TargetFramework>
      </PropertyGroup>
      <ItemGroup>
        <PackageReference Include="xunit" Version="2.4.2" />
        <PackageReference Include="xunit.runner.visualstudio" Version="2.4.5">
          <PrivateAssets>all</PrivateAssets>
          <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
        </PackageReference>
      </ItemGroup>
    </Project>
    
    public class TestClass
    {
        [Fact]
        public void Test()
        {
        }
    }

    Edit : Just reverted to 17.3.6 and it’s working fine.

    • Stefan Hecker 0

      Thanks for sharing, that way it blocked only one of my team members and not everyone.

      • Abhitej John BandiMicrosoft employee 0

        Thanks for letting us know. If you still have an environment where you can repro this, would you mind reporting this through the “Report a Problem” workflow in VS please? Taking a recording of these actions through that workflow would help us get the logs we’d need to remediate this better. We aren’t able to repro this in our local environments sadly.

        • Vincent Voyard 0

          Sorry, I don’t have an environment to reproduce this problem and I can’t reinstall 17.4 right now, I lost enough time to reconfigure everything after reverting to 17.3.

          • Vincent Voyard 0

            From the stack trace, it looks like a NUnit specific bug.

            But I guess the other testing frameworks (including MSTest) have the same kind of problems related to .NET 7 runtime.

          • Abhitej John BandiMicrosoft employee 0

            Yes the nunit issue was addressed by nunit through a new version of the adapter as discussed here: https://github.com/nunit/nunit3-vs-adapter/issues/987.
            TL;DR – Please upgrade NUnit3TestAdapter to v4.3.0

            We haven’t heard of specific issues in MSTest and Xunit that could cause anything similar. The one other issue our teams are tracking which seems similar to the description Vincent shared is reported here: https://developercommunity.visualstudio.com/t/Unit-tests-not-discovered-nor-running-on/10193048. We are actively investigating that.

          • Vincent Voyard 1

            Thanks for linking this issue.

            It looks like the same problem, with Entreprise edition (like I use), and actually it’s the same symptoms, tests not running nor discovered at runtime.

            But in this case, it’s .NET 6 tests not working in 17.3 and it got fixed by updating to 17.4.
            Like I said, .NET 6 tests were not working at first and after many changes and revert and creating an empty .NET 6 tests, it just worked with no reason while .NET Framework (4.x) tests were still not working.

            I suspect he ran into the same problem I got, and it got “fixed” for .NET 6 by updating to 17.4 and creating an empty test.

      • Vincent Voyard 0

        I don’t know if your problem was related to the specific NUnit bug, but there is a workaround to the bug with other unit testing libraries (check in my last post).

    • Vincent Voyard 1

      To anyone interested in this bug, it seems related to localization (in non english language, at least in french).
      There is a simple workaround by swapping to english that works in 17.4 and 17.5 Preview :

      – Install English localization in Visual Studio Installer.
      – Swap to English International Settings (in Tools / Options / Environment)
      – Restart Visual Studio (twice the first time after installation).

      Then the tests are discovered at runtime and running in Test Explorer and Live Unit Testing.

      https://developercommunity.visualstudio.com/t/NET-Framework-4x-unit-tests-not-runn/10203607

  • Jake Bergen 2

    After updating to 17.4.0, my Blazor project takes about 30 minutes to publish to Azure. Before, it took only about 3 minutes. I reverted to version 17.3.6 now the publishing time is back to 3 minutes.

    • 상천 이 0

      So am I.
      In .net6, it ran in 3-5 minutes.
      It takes more than 30 minutes in .net7…
      Why the hell are you doing this?

      • Jake Bergen 1

        I didn’t even change the .net version. I only updated Visual Studio to 17.4.0.

        • Vijay RamakrishnanMicrosoft employee 0

          Thank you for letting us know about this issue. Visual Studio 17.4 ships with the .NET 7.0 SDK by default and 17.3.x used to ship .NET 6.0 SDK. The performance issue you are running into might be related to some nuanced behavior in the new SDK. For tracking down performance issues, it would be very helpful if you could create a developer community issue with the information listed in this document: https://learn.microsoft.com/en-us/visualstudio/ide/how-to-increase-chances-of-performance-issue-being-fixed?view=vs-2019#slowness-and-high-cpu-issues. If you can provide an msbuild binlog or a detailed msbuild log with the build behavior, it would be very helpful in tracking down the issue sooner.

    • Jessie HoughtonMicrosoft employee 0

      Hi John,

      Thanks for calling this to our attention. The link should be live now! Please let us know if you have any trouble viewing it.

  • Pleszkáts Levente 0

    > Integrated terminal as an F5 target for web projects

    Can i turn this off?

  • Dave Glassborow 2

    We have also had to revert to the previous version, we noticed three issues:

    – Razor Class Libraries not being picked up by aspnetcore when run in VS
    – IISExpress was no longer able to debug more than one website at the same time when running VS as admin
    – High CPU usage (mentioned by others in this thread)

    • Dave Glassborow 2

      Also tried to report using the VS feedback button, but that doesn’t work either 😉

      > Unexpected error
      > Sorry, we couldn’t send your report, because the server connection timed out. Please retry now or sign out from Visual Studio, sign in using Visual Studio and try again

  • Fabien POTEL 1

    Problem : just upgraded from 17.3.6 to 17.4.0
    Now, in my c# winform app (.Net 6), when I open some forms with the designer : System.IO.FileNotFoundException
    nothing possible to do except exit VS2022
    Rollback to 17.3.6 and all is good again

  • Руслан Шевчук 0

    Someone knows a style name for a new ‘highlight matching strings’ feature? For VS style purpose

    • Jose ParraMicrosoft employee 0

      Hello, I assume you are talking about how to change the color of the matching highlighting in Fonts and Colors. If you go to “Tools > Options > Environment > Fonts and Colors”, you need to search for the “Selection Match Editor Highlight” item. Note the “Selection Match on Scrollbar” as well.

  • kang steven 0

    Hello,
    update to17.4.1,Connecting to hololen2 through USB, the deployment of the previous uwp(c#) project encountered “DEP6701: startup failure, with the following unexpected error: the method or operation was not implemented.

  • Günter Berner 1

    After updating VS2022 from 17.4 to 17.4.1, VS failed to start and froze on the splash screen followed by an error message:

    Could not start visual studio due to an error.
    StreamJsonRpc.RemoteInvocationException:
    Failed to start host ‘netfx.x86SldentityHost’. (ErrorKind: HostExited HResult: 80131500)

    “Repair” in the Visual Studio Installer didn’t help, just uninstalling and then reinstalling.

    The newly installed VS worked initially, but after some time it showed the following error box

    The operation could not be completed. Unknown error

    or

    Error HRESULT E_FAIL has been returned from a call to a COM component.

    when I try to build a C++ project or close an edit window or try to close VS itself.

  • Piotr Śródka 0

    I would prefer if new Visual Studio 17.4 did not uninstall my dotnet 6 SDK, but it did. What now? Manual installation of dotnet 6?

  • Wenguang XuMicrosoft employee 0

    where is the build solution button? right clicking on solution shows me a totally different menu. Where is the consistency in UI?

  • Michal Zemko 1

    Hi, Selection Match Highlighting is really nice feature, but disabled highlighting word under cursor. How can I enable back this with enabled Selection Match Highlighting? I would like behavior:
    a) not selected any text -> highlighted word under current cursor (as before VS 17.4).
    b) selected text -> highlighted selected text.

    Its annoying to double click to select whole world to highlight it as before VS 17.4.

  • Jay Lauriano 0

    Does anyone know the rocket science required to get .Net 7 to appear as a Target Framework in VS 2022?

Feedback usabilla icon