What's new in this version: Microsoft Visual Studio Community 2022 17.7 Productivity Features: - Comparing Files - Copy and Trim Indentation - Multi-branch Git Graph - Create new GitHub Actions - Parallel Stack Filtering - Collapse All Descendants for Solution Explorer
Performance Improvements: - F5 Speed - All-in-One Search Responsiveness - Find in Files Search Improvements - C# Spell Checker Memory Consumption - C++ Unreal Engine Time to IntelliSense - Light Bulb Responsiveness - Solutions Load CPU Consumption
.NET development: - Auto-decompilation for External .NET Code ??– 29 votes - New Auto Insights for the CPU usage tool
C++ and game development: - Unreal Engine Macros Formatting for C++ - Build Insights in Visual Studio (C++) - 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++" - WSL Automatic Acquisition - Remote File Explorer Updates
Web Development: - npm Dependency Management in ASP.NET projects - Supporting Vite for React and Vue new project creation - HTTP Editor - Power Platform connected services
SSDT (SQL): - Support for Serverless SQL Pool in SSDT - Installation and Updates: - Rollback now preserves all user settings - Enterprise Management and Acquisition: - Ability for standard users to update and modify Visual Studio
Microsoft 365 development: - Microsoft Teams development tools (Teams Toolkit)
Other Developer Community Suggestions: You asked, we listened: - Cannot import anymore tables into edmx. "Running transformation: System.NullReferenceException: Object reference not set to an instance of an object." 46 votes - Selection in Batch Build was not remembered after restart 41 votes - .vs folder grows unexpectedly large 32 votes - Call stack and other windows not rendering correctly 21 votes - SignTool Error: The /p option requires the /f option 12 votes - In MAUI,Can't Use F7 To Xaml and Use Shift+ F7 To CS 10 votes - Clicking pinned tab drags window out and unpin 9 Votes - MSVC compiler hangs on user defined operator overload 8 votes - HLSL Tools will crash Visual Studio when viewing shader files in Unreal Engine and the virtual file mapping has been provided 7 votes - error C1010 with VS 2022 version 17.6.0 Preview 3 and precompiled headers - SSDT IN VS 2022 IS TOTALLY BROKEN - Compiler crashes for analysis of code including specialization of class template with nested non-template class referring to containing class - VS failed to launch with random JSON dialog - Azure Function's host.json being ignored unless a manual rebuild is done or code is modified
Microsoft Visual Studio Community 2022 17.6.4 Fixed: - Fixed an issue where Saving a C++ file sometimes results in the IDE hanging - Fixed an issue when "Show All Files" mode is set for a VC project sometimes results from files in those projects will be missing in GoTo and FindInFiles - Fixed '__declspec(property) causes syntax errors with C++20 and /clr - Fixed a race condition in ASAN initialization causing crashes on start up - When multiple test projects are run in sequence, vstest.console can consume a lot of CPU because it is constantly polling for data from testhost that is started but not executing yet. This was mitigated by disabling testhost pre-start. This regression was introduced in 17.6.0. - Fixes a MessagingRemoteException when an XCFramework is involved in MAUI targeting iOS. Ref xamarin/macios#18308 - This version of Visual Studio includes Win App SDK 1.3.230502000. See Windows App SDK release channels - Windows appsfor more details. - Includes servicing update 10.0.22621.1778 for Windows SDK for Windows 11. See Windows SDK for details - Fixed a bug where document tabs could accidentally undock into a floating window - Fixes some Visual Studio crashes on Solution Close
Microsoft Visual Studio Community 2022 17.6.3 - A regression was introduced into the razor compiler that broke certain tag helpers with explicit partial classes. Until this bug is fixed customers can work around by pinning back to the 7.0.203 SDK.
Fixed: - Visual Studio Remote Code Execution Vulnerability This security update addresses a vulnerability in the MSDIA SDK where corrupted PDBs can cause heap overflow, leading to a crash or remote code execution. - Visual Studio Remote Code Execution Vulnerability This security update addresses a vulnerability where specially crafted input to git apply –reject can lead to controlled content writes at arbitrary locations. - Visual Studio Spoofing Vulnerability This security update addresses a vulnerability where Github localization messages refer to a hard-coded path instead of respecting the runtime prefix that leads to out-of-bound memory writes and crashes. - Visual Studio Remote Code Execution Vulnerability This security update addresses a vulnerability in which a configuration file containing a logic error results in arbitrary configuration injection. - Visual Studio Remote Code Execution Vulnerability This security update addresses a vulnerability in which the Git for Windows executable responsible for implementing a SOCKS5 proxy is susceptible to picking up an untrusted configuration on multi-user machines. - Visual Studio Remote Code Execution Vulnerability This security update addresses a vulnerability in which the Git for Windows Git CMD program incorrectly searches for a program upon startup, leading to silent arbitrary code execution. - Visual Studio Remote Code Execution Vulnerability This security update addresses an Out-Of-Bounds Write Vulnerability in Autodesk® FBX® SDK where version 2020 or prior may lead to code execution through maliciously crafted FBX files or information disclosure. - Visual Studio Information Disclosure Vulnerability This security update addresses a vulnerability where a user may be tricked into opening a malicious FBX file that may exploit a stack buffer overflow vulnerability in Autodesk® FBX® SDK 2020 or prior which may lead to remote code execution. - Visual Studio Remote Code Execution Vulnerability This security update addresses a vulnerability where a user may be tricked into opening a malicious FBX file that may exploit a heap buffer overflow vulnerability in Autodesk® FBX® SDK 2020 or prior which may lead to remote code execution. - Visual Studio Information Disclosure Vulnerability This security update addresses a OOB vulnerability where the obj file parser in Visual Studios leads to information disclosure. - .NET and Visual Studio Denial of Service Vulnerability This security update addresses a vulnerability where the AIA fetching process for client certificates can lead to denial of service - .NET and Visual Studio Remote Code Execution Vulnerability This security update addresses a vulnerability in the WPF XAML parser where an unsandboxed parser can lead to remote code execution - .NET and Visual Studio Elevation of Privilege Vulnerability This security update addresses a vulnerability in bypass restrictions when deserializing a DataSet or DataTable from XML, leading to an elevation of privilege. - .NET Elevation of Privilege Vulnerability A vulnerability exists in .NET using extracting the contents of a Tar file which may result in elevation of privileges - .NET Remote Code Execution Vulnerability A vulnerability exists in .NET during crash and stack trace scenarios that could lead to loading arbitrary bin - .NET Remote Code Execution Vulnerability A vulnerability exists in .NET source generator for P/Invokes that can lead to generated code freeing uninitialized memory and crashing - .NET Remote Code Execution Vulnerability A vulnerability exists in the .NET SDK during tool restore which can lead to an elevation of privilege
Microsoft Visual Studio Community 2022 17.6.2 - Syncfusion Controls like RibbonWindow and ChromelessWindows no longer rendering in designer preview - RoslynPackage fails to initialize due to SettingsEditorFactory dependency error
Microsoft Visual Studio Community 2022 17.6.1 - We have made some updates to whatsnew content
Microsoft Visual Studio Community 2022 17.5.5 - Fix for intermittent VS crash while scrolling Windows Forms .NET designer - .NET 3.1 went out of support in December 2022. Mark it out of support in the Visual Studio setup UI so that it's visible to customers and can be removed with the new "Remove out of support components" button in Visual Studio setup.
Microsoft Visual Studio Community 2022 17.5.4 - This change fixes a crash when invalid input is sent to the driver used during PGO training for kernel mode drivers - Fixed MSVC template operator resolution with ISO C++17 and ISO C++20 - MSVC ASAN will ignore mapped-memory files when Rtl* memory functions are used to manipulate that memory - Updates .NET MAUI to 7.0.81 (SR4) - Updates .NET iOS to 16.2.127.0, see release notes - Updates .NET Android to 33.0.46.0 - Addresses a fix in the configuration API that could lead to a double free vulnerability - VSIXInstaller has been updated to prevent trust warning from being hidden in the UI
Microsoft Visual Studio Community 2022 17.5.3 Fixed: - Removal of integrated Edge Developer Tools for ASP.NET web workload - Fixed ASAN performance regression regarding large amounts of threads accessing the same heap concurrently. Also, changed the windows_hook_legacy_allocators option default value to true. - MSVC C++ Toolset updated to 14.35.32216.01 - While editing Razor files, add caching of some of the computed editing constructs to improve performance. - Fixes a bug where a MultiLine TextBox in a VB-WinForms Project gets deleted, when the Text property contains more than one line (which get separated by vbCrLf on code generation in InitializeComponent). - Fixes a bug where extremely large Forms or UserControls in the WinForms Out-Of-Process Designer take a very long time to save. Please note, that Forms/UserControls > 3,000 lines of code will be in certain cases differently formatted or not be subject to namespace/this (Me in Visual Basic) reduction. Consider refactoring parts of very big forms into dedicated UserControls, and use those UserControls inside bigger Forms for performance improvements and easier maintenance. - Fixes a bug where VB-Tick-Comments inside of InitializeComponent will now wrap correctly into individual lines, when a previous line ended with a quotation or a double-quotation character. - Fixes a bug where renaming a WithEvents defined Control field of the Code-behind Designer file in Visual Basic will no longer lead to multiply defined/handled events.
Microsoft Visual Studio Community 2022 17.5.1 - Downgraded error from .NET CLI when specifying output paths for solution builds to a warning. Solution-level --output option no longer valid for build-related commands
Developer Community Highlights: - The VCFileCodeModel.EndPoint property does not return the correct result in VS2022 - Project can't be built since upgrade to 17.5 due to 'CommandLineArgsForDesignTimeEvaluation' is required issue
Microsoft Visual Studio Community 2022 17.5 Fixed: - Selection in Batch Build was not remembered after restart - std::move (and similar functions) result in poor debug performance and worse debugging experience - Allow the --layout option to work with the --config option - Getting build error after selecting automatically deploy the database project before unit tests are run option - C/C++ Position of Open Braces setting keeps getting automatically changed - C/C++ Position of Open Braces setting keeps getting automatically changed - Hot Reload For CSS Not Working With Blazor WebAssembly Hosted - Git - failed to start the configured compare tool - Visual Studio clears dirty flag before calling OnBeforeSave - Solution Explorer item collapses by itself - JSON Schema being written to solution folder - Unit test startup fails with an exception when a test method is renamed - IIF in condition - SQL46010: Incorrect syntax nea - C++20 String-literal operator template unrecognized by Intellisense - Html attribute color is broken in the latest VS previe - C++, Visual Assist Find in Files provides partial results for searches in Entire Solution or Current Projec - MFC Dialogs resized by the dialog editor - Intellisense not working with module headers - Visual Studio 2022 silently corrupts utf-8 source code and content files after reload caused by external modificatio - CMake + Ninja fails to parse include paths output(/showIncludes) - False positive c6031 warning from static analysis - Visual Studio freezes and needs to be killed in Task Manage - MSVC Not using bswap when possible - Solution has not finished parsing; browsing results may be inaccurat - C++ Intellisense hangs forever with certain template parameters - Version 17.5.0 Preview 2.0 Hot Reload not working for Xamarin.forms - Xamarin Profiler Simulator Issues
Microsoft Visual Studio Community 2022 17.4.4 Fixed: - Document Outline feature has been disabled for C# source files - Addressed an issue when Cascadia Code and Cascadia Mono font gets uninstalled during Visual Studio update process
From Developer Community: - Visual Studio 17.4 crashes constantly when opening the Windows OS repository, with WAVE extension - Deadlock when EnvDTE.Project.Save is called in certain moment - Selection in Batch Build was not remembered after restart - Cannot close VS2022 - neither window close or File Exit works - VS fails to show the coredump summary page
Security Advisory: - CVE-2023-21538 .NET Denial of Service Vulnerability A denial of service vulnerability exists in .NET 6.0 where a malicious client could cause a stack overflow which may result in a denial of service attack when an attacker sends an invalid request to an exposed endpoint
Microsoft Visual Studio Community 2022 17.4.3 Fixed: - a bug in the allocator that resulted in memory leaks when multiple C++ translation units were analyzed in the same compiler invocation - a bug where thread_local variables caused the linker to emit the "fatal error LNK1161: invalid export specification" error - a bug in the allocator that resulted in memory leaks when multiple C++ translation units were analyzed in the same compiler invocation - the underlying exception leading to a gold bar with message "Diagnostic Analyzer Runner crashed" while editing C#/VisualBasic code - Fixes failure do deploy UWP apps to devices which were not already paired to a machine where Visual Studio runs
- Improved the performance of submitting a feedback ticket on Developer Community when Recordings are attached - Adds support for Xcode 14.1 for Xamarin.iOS and Xamarin.Mac - Adds Xcode 14.1 support for .NET for iOS, tvOS, macOS, Mac Catalyst - Updates .NET MAUI to 7.0.52 (SR1.1), see https://aka.ms/dotnet-maui-releases for release notes - The wasm-tools experience for VS arm64 will be enabled in VS 17.4.3. for .NET WebAssembly Build Tools and .NET 6.0 WebAssembly Build Tools. This enables blazor wasm publishing with AOT Compilation
Microsoft Visual Studio Community 2022 17.4.2 Fixed: - an issue causing C++ compiler crashes with /analyze - a compiler bug where we were incorrectly eliding a zero-extension - an issue where some C++ formatting options were not persisted correctly between Visual Studio sessions - an issue with hang on paste - This version of Visual Studio includes Win App SDK 1.2.221109.1 see Windows App SDK release channels - Windows apps | Microsoft Docs for more details
Microsoft Visual Studio Community 2022 17.4.1 Fixed: - A search for arm64ec or ec in the vs installer now brings up the relevant arm64 components containing arm64ec support - In Visual Studio 2022 version 17.3 and later, ML.NET Model Builder would hang when training Image Classification models with the GPU. This deadlock has been resolved and Image Classification can be trained using CPU or GPU successfully. - Using screen readers with the integrated terminal now correctly provides information on the commands that were run and their output - Visual Studio doesn't crash when opening a .NET 7 Linux core dump
From Developer Community: - Cannot view Parallel Task when debugging Linux dump
Microsoft Visual Studio Community 2022 17.4 - Arm64 - This preview continues to build out our native Arm64 support on Windows 11. In addition to supporting .NET desktop development (WinForms and WPF), Desktop development with C++ (for MSBuild-based projects) and ASP.NET and Web development, we have now enabled the Universal Windows Platform development workload. Read our blog post to learn more.
C++: - Improved compiler error messages to provide more correct and useful information, especially for concepts - Added experimental MSVC flag /experimental:log to output SARIF build logs to the specified directory - Added support for C23 attributes to IntelliSense and continued progress in C++20 modules support - Improved indexing performance when opening a new solution. Large projects could see a 20-35% improvement from 17.3.
Improved Named Return Value Optimisation (NRVO) by: - Enabling NRVO for cases which involve exception handling or loops - Enabling NRVO even under /Od if the user passes the /Zc:nrvo flag or /std:c++20 or later or /permissive- - Allowing users to disable NRVO with the /Zc:nrvo- flag - Upgraded the version of LLVM shipped with Visual Studio to 15.0.1. See the LLVM and Clang release notes for what is available. - Added support to Visual Studio for vcpkg artifacts with CMake projects. For projects that include a vcpkg manifest the environment will be activated automatically on project open. You can learn more about this in the vcpkg environment activation in Visual Studio blog post. - You can now use Dev Containers for your C++ projects. You can learn more about this feature in our Dev Containers for C++ blog post. - Made IntelliSense respect the order of preincluded headers when one is a PCH. Previously, when a PCH was used via /Yu and force-included via /FI, IntelliSense would always process it first, before any other headers included via /FI. This did not match the build behavior, so with this change /FI headers are processed in the order they are specified. - Removed internal prefixes from CTest names in Test Explorer. - Updated the version of CMake shipped with Visual Studio to version 3.24.1. See the CMake release notes for what is available. - Android SDK update - Ant scripts have been removed, so users will no longer see Ant-based templates in the New Project dialog. For help migrating from Ant templates to Gradle templates, please see: Migrating Builds From Apache Ant (gradle.org) - Added support for building with NDK 23 and 24 - Updated NDK component to the LTS version 23 - Added vectorized implementations of ranges::min_element(), ranges::max_element(), and ranges::minmax_element() - We continue to track the latest developments in C++ standardization, support for the following C++ 23 features is available by including /std:c++latest in your compiler options - P2302 ranges::contains, ranges::contains_subrange - P2499 string_view Range Constructor Should Be explicit - P0849R8 auto(x): decay-copy In The Language - The compiler part is not yet implemented; the library part was implemented in C++20 mode when Ranges were initially implemented. - P0881R7 - P2301R1 Add A pmr Alias For std::stacktrace - P1328R1 constexpr type_info::operator==() - P2440R1 ranges::iota, ranges::shift_left, ranges::shift_right - P2441R2 views::join_with - Added an option "Navigation after Create Declaration/Definition" to allow you to choose the navigation behaviour of the Create Declaration/Definition feature. You can select between peeking (the default) or opening the document, or no navigation. - Arm64 builds of Visual Studio now bundle Arm64 versions of CMake and Ninja - Added support for CMake Presets version 4. See the CMake release notes for details of what is available - Connecting to remote systems with the Connection Manager now supports SSH ProxyJump, which is used to access a SSH host via another SSH host (for example, to access a host behind a firewall). - Developer Community Highlights: - Introduce the ability to rollback a Visual Studio Update - 438 votes - Compiler warnings after upgrading to 17.2.0 (C4311) - 49 votes - EnableClServerMode always rebuilds project and prevents up to date check - 30 votes - EnableClServerMode does not respect settings like compile as cpp for c files - EnableClServerMode reduces the process priority of cl.exe to low - 30 votes - C++ classes, structs and enums with C++ attributes are not visible by Intellisense - 23 votes - Throwing SEH from C++ catch-block causes unexpected behavior since 19.23 - 19 votes - lambda inside lambda with & capture passed to range based for loop causes C2512 in c++20, but is ok in c++17 - 13 votes - C++20 Modules: Bogus Intellisense error when importers use exported nested class - IntelliSense crashes with imported nested class with member type - 12 votes - Codegen bug relating to stack allocation - 11 votes - Test Adapter for Google Test with TYPED_TEST uses wrong names with an extra . - 11 votes - Inconsistent auto-tabulation behavior when writing an enum class - 8 votes - CMake Presets doesn't work for WSL2 on some distributive - 7 votes - Standard violation: enum underlying type cannot represent all its values - 6 votes - Underlying type of an unscoped enum? - 6 votes - Incorrect C/C++ IntelliSense error 'enable_if' attributes with conditions that are not constant values are not supported - 6 votes - /Zc:char8_t[-] ignored by IntelliSense, this genererating errors + squiggles that are not present when building. - 6 votes - Undeclared identifier error with lambda capture - 6 votes - Intellisense bug with standard-conforming preprocessor and __VA_ARGS__ comma elision - 5 votes - VS FOR LINUX. MSBuild fails on SOLUTION with cross-dependent Makefile project ! - 5 votes
Debugging & Diagnostics: - DataTable visualizer is now upgraded with new improvements like filtering, sorting, exporting, and theming. - To export the data export in CSV/Excel format use the dropdown on the top right corner. - The Visualizer will also allow you to filter data based desired filter string. It will return all the rows that contain a value that matches the filter string. You can also export the filtered and sorted results in CSV/Excel format. - The visualizer window will be themed as per your selected Visual Studio theme
Editor Features: - Audio Cues are now available in Visual Studio. To enable audio cues, go to Tools > Options, then head to Text Editor > General. In the Settings section, check the "Enable audio cues" option to enable audio cues. With this option checked, Visual Studio will play an audio cue when the caret in the editor arrives on a line with an error, breakpoint or warning. It will also play a cue when the line arrives on a line that has been added or removed when viewing a file in the diff view. These cues can be individual enabled or modified in the Settings Control Panel in Windows. - Holding down the shift key while rotating the mouse wheel over the editor will now cause the editor to scroll horizontally. The amount that the editor scrolls can be configured in Tools > Options under Text Editor > Advanced. - The current line number in the editor is is highlighted for higher visibility. - The Output pane now has a button that will prepend each line with a timestamp to allow developers an easier way to see how much time transpired between steps in longer running processes. - We fixed an issue that prevented printer settings from being saved correctly in some cases. - When selecting text in the editor, Visual Studio will now automatically highlight matching strings. To enable this feature, go to Tools > Options, then head to Text Editor > General. In the Display section, check the "Show selection matches" option. With this option checked, any time a single line of text of 100 characters or less is selected, any matches will immediately be highlighted.
F#: We continue improving tooltips for F# identifiers, fixing a few edge cases: - Active patterns - Anonymous record fields - Exception names - Also fixed Visual Studio crashing for specifying --version in compiler flags - Tooltips for local functions now show argument names - Tooltips for local function arguments
Git Tooling: Developer Community Highlights: - Allow multiple Git repositories to be active at once - 331 votes - "Stage Line" tooltip incredibly annoying when editing in the right panel of a Diff window - 6 votes
Other features: - Multi-repository support 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 perform git operations like committing, pulling, and pushing across several repositories at the same time. Start using multi-repo support by opening a solution or folder with projects across several repositories. Read our blog post to learn more and share your feedback. - Untrack and ignore tracked Git files - 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.
Installation and Updates: Rollback: - The ability to return to your previously installed version of Visual Studio is now feature complete. For more information, please visit Troubleshoot Visual Studio installation and upgrade issues. - What will happen? - Rolling back will return Visual Studio to the version installed prior to the last applied update. It will keep any modifications to selected components chosen since that last update. Local customizations such as your user settings and profiles will be removed. However, your common synchronized settings such as themes, fonts, key bindings, and windows layout will be restored. - As of now, you will be able to rollback to components that come with the VS instance and shared components such as SDKs and tools that are owned and managed only by VS. Per-machine extensions, system-wide components, and tools that are not managed by Visual Studio will remain in their current versions. However, per-user extensions will be uninstalled. Please refer to section “Components that are compatible” below for more information. - What will happen to my security updates? - Security updates that are included in a release greater than the version you rolled back to will be removed which could make your device vulnerable. We recommend always updating back soon to the latest version to stay secure. - Which versions support rollback? - For the Release channel, you can rollback to your previously installed version if it was either 17.0.10 or higher, or 17.1.7 or higher
Components that are compatible: - The following table outlines the type of components that are supported with the rollback feature. As a general rule of thumb, components that VS installs, and uses are included in the rollback attempt.
RollbackComp: - Can I rollback if I am in a managed environment? - 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. - How can I Rollback? - You should be seeing “Rollback to previous version” from the More dropdown button on a product card after an update.
RollbackHow: - From there, a warning pop up will appear and you will have the option to either cancel or proceed.
RollbackWarning: - Let us know your thoughts! - We would love to get your feedback on the rollback feature, so please give it a try and let us know what you think. You can share any feedback by visiting
Remove out-of-support components: - The Visual Studio 2022 version 17.4 installer contains a new feature that enables you to easily bulk remove all components that Visual Studio installed that have transitioned to an out-of-support state. This will help you maintain a secure and compliant environment. Developers can initiate this action on updates or modifications, and IT Admins can enforce it by policy. For those enterprises that use layouts, it’s possible to configure the layout once, and then future administrator update will respect this setting. This functionality also works for Visual Studio 2017 and 2019 if those client machines have been updated to use the latest Visual Studio installer. For additional details on how this functionality works, please refer to the Visual Studio Administrators guide or refer to the blog post. - Configure Policies via Administrator Templates (ADMX): - Today we released the Visual Studio Administrative Template files (ADMX/ADML), which makes it easy for IT admins to easily discover, manage and control Visual Studio behaviors that are available to be governed by policy. ADMX files are also easy to integrate with common management and deployment tools such as Group Policy Editor or Microsoft Endpoint Manager. Please find additional information here. - Visual Studio security updates now available through the Microsoft Update channel of Windows Update for Business - All Visual Studio security updates for all supported versions of Visual Studio are now available to modern cloud connected Azure Active Directory (Azure AD) joined devices that use Windows Update for Business and are managed by mobile device management solutions such as Microsoft Endpoint Manager (formerly known as Intune). You can enable this functionality on your client devices by setting the AdministratorUpdatesEnabled policy to 2. Refer to the blog post and the Visual Studio Administrators Guide for additional details.
IntelliCode: - When IntelliCode has a suggestion to offer that modify or deletes part of a single line of code, the suggestion is now shown as a "diff view" on the editor surface for C# users. By using the TAB key, users can accept the prediction. - Microsoft Teams Development Tools (Teams Toolkit): - With this new version of Teams Toolkit, updates are required to the Azure Active Directory template file, projectSettings.json, and the app manifest file. These updates are done automatically after performing a Teams Toolkit menu command, and don't change your project source code. The output window will shows the status of the update. - The Tab application type in the Microsoft Teams App project template wizard includes the option to configure single sign-on or not. Add it later using Project > Teams Toolkit > Add Authentiation Code. Learn more about Teams Toolkit in the docs:
Markdown: - We have added a very early preview of our markdown editor for Visual Studio. To enable the markdown editor, go to Tools > Manage Preview Features, then check the "Markdown language service" option. - Once the feature is enabled, opening any .md file will open the new markdown editor in Visual Studio. To open the preview for the markdown, there is a Preview button at the bottom right of the editor (next to the Line and Column information). - This experience is a very early preview and we expect much of it to change. If you have feedback on the experience, please join the conversation here on Developer Community. - .NET Productivity: - There is a new Inline Rename UI that allows you to rename a type. Press Ctrl+R,R to bring up the new Inline Rename experience. Notice that the new UI will now show up under the type with an option to rename comments, strings, and symbol files. - There is now an option to disable Source Link and Embedded source. You can disable this in Tools > Options > Text Editor > C# > Advanced and deselect Enable navigation to Source Link and Embedded sources. - You can now easily view a file’s structure at a glance in the Document Outline window. The Document Outline window displays the symbol tree of the file in the editor helping you quickly navigate and edit project files. You can open Document Outline by going to View > Other Windows > Document Outline or by using the shortcut Ctrl+Alt+T.
Test tools: - Live Unit Testing now provides a button to reset all state. By going to Test > Live Unit Testing > Reset Live Unit Testing state for solution. Live Unit Testing Reset State - Live Unit Testing now supports Razor files. - Run Tests until failure helps you find flaky tests and will run your unit test until they reach a failure or until they reach the threshold set in Options. - View code coverage report scoped down to only the files/lines you have changed with the new Code Coverage Changeset report.
Performance improvements: - We have made performance improvement in the following areas of Visual Studio in this release : - Find & Replace in Files - Git branch switching - Unit Test Performance - Language service configuration switch optimization - Responsive File Save - C++ Indexing
Visual Studio on Dev Box: - As a Dev Box is not on your local network, you'll need to use a public IP to connect via internet to any Macs on your local network. - If the Android emulator won't load, ensure Hyper-V is enabled via {insert instructions here}. If the Hyper-V option was not checked off, enable it, then restart the Dev Box before trying to use the emulator.
From Developer Community: - Runtime Text Template behaviour changed in Visual Studio 2022 17.3.x - Terminal Default Profile Isn't Being Loaded Unless Developer PS Profile Is Deleted - Visual Studio clears dirty flag before calling OnBeforeSave - Internal error in UpToDateCheckImplicitConfiguredInputDataSource: ArgumentException: Must not be DateTime.MinValue - Details for Installed MAUI packages are missing NuGet Project PM UI - Regression in MFC class CSimpleStringT::CloneData, atlsimpstr.h (atlmfcinclude) - Hot Reload C# things there are changes when there are none - Task Failed - Activating language client HtmlLanguageClient: HtmlLanguageClient failed to initialize. - Introduce the ability to roll back a Visual Studio Update - Easily remove all out-of-support components - Visual Studio Administrator Template (ADMX/ADML) Preview Feedback - Intellicode Suggestions sometimes makes it impossible to type code (C#)
Microsoft Visual Studio Community 2022 17.3.6 - Adds support for Xcode 14.0 to .NET 6 for iOS/tvOS - .NET MAUI 6.0 Servicing Release - Addressed an intermittent crash when opening the debugger DataSet visualizer - Administrators will be able to update the VS Installer on an offline client machine from a layout without updating VS
Microsoft Visual Studio Community 2022 17.3.5 Fixed: - an issue where Visual Studio would get into a unresponsive state intermittently while closing WinForms .NET Designer - When a user has HSTS enabled in their browser settings and adds a GitHub account to the Visual Studio keychain, an error message is displayed with a link to troubleshoot the issue - an issue where Roslyn analyzers and source generators targeting version 4.3.0 would fail to load in Visual Studio - Adds support for Xcode 14
Microsoft Visual Studio Community 2022 17.3.4 Issues Addressed in this release of 17.3.4: - Stop issuing false positives for warning C4191 - This release fixes the following warning, "The value of the 'PublicKey' attribute in 'Microsoft .NET Framework 4.7.2 (x86 and x64)' does not match that of file 'C:Program Files (x86)Microsoft SDKsClickOnce BootstrapperPackagesDotNetFX472NDP472-KB4054530-x86-x64-AllOS-ENU.exe'. ", after publishing ClickOnce project in Visual Studio 17.3
Security Advisory: - CVE-2022-38013 .NET Denial of Service Vulnerability A denial of service vulnerability exists in ASP.NET Core 3.1 and .NET 6.0 where a malicious client could cause a stack overflow which may result in a denial of service attack when an attacker sends a customized payload that is parsed during model binding.
Microsoft Visual Studio Community 2022 17.3.3 - Fixed an issue which would cause VS to hang when using rename in C# or VB.NET projects
Microsoft Visual Studio Community 2022 17.3.2 - Fixes the Toolbox -> Choose Items command when a non-English language is selected in Visual Studio - The installer has been updated to handle internal dependencies that may be missing - Invoking the Solution Explorer context menu will no longer cause VS to be unresponsive
From Developer Community: - Feature unavailable due to an internal error - Live Unit Testing - Link to code in the body when test is a failure links to the file in the lut instead of the original file - VsixSignTool fails in pipeline with error code 80070020 - Error when publishing function app
Microsoft Visual Studio Community 2022 17.3.1 Type less, code more: - IntelliCode is a powerful set of automatic code completion tools that understand your code context: variable names, functions, and the type of code you’re writing. This means that IntelliCode is able to complete up to a whole line at once, helping you code more accurately and confidently. Develop apps faster: - Hot Reload for .NET and C++ will save you time. Just make a change, and Hot Reload applies your edits to the running app so you can see them. Immediately. Without stopping to rebuild.
Scales to any project: - Visual Studio 2022 is the best Visual Studio ever. Our first 64-bit IDE makes it easier to work with even bigger projects and more complex workloads. The stuff you do every day—like typing code and switching branches—feels more fluid more responsive. And out-of-memory errors? They’re about to be a distant memory.
Find and fix bugs fast: Debugging isn’t your favorite part? It might be now. The built-in debugger in Visual Studio 2022 is now even smarter. You’ve got more power than ever to: - Tackle issues wherever your app is running—locally, on a device, a remote server, or in Azure - Use smart breakpoints to pause and manage execution to inspect bugs - Jump back to specific lines of code—no need to restart sessions or manually recreate your app’s state
Designed for everyone: - Visual Studio 2022 reflects our broader commitment to an excellent experience for all developers with updated icons, a new dark theme, and a focus mode that reduces distractions. Plus: more control over fine-tuning your workspace, including your layout, fonts, themes, icons, menus, custom notifications, and update schedule.
Microsoft Visual Studio Community 2022 17.3.0 Summary of What's New in this Release of Visual Studio 2022 version 17.3: - MAUI workload GA Build - MAUI/Blazor CSS Hot Reload support - You'll now be able to try out a selection of new features in Visual Studio with each update, using our What's New feature - Select each feature to learn more about the particular feature
What's New in Visual Studio: Apple Developer Accounts: - This preview includes initial support for Individual AppStoreConnect accounts which are needed for non-Enterprise Apple Developers - To add an Individual account, open ToolsOptions and then select the "Apple Accounts" item located in the Xamarin section. In the "Apple Accounts", click the "Add Account..." button and select "Add Individual Account" and enter the AppStoreConnect API Key information. - Once the account is created, certificates and provisioning profiles can be accessed via the "View Details" button
Known Issues: - Automatic Provisioning may not work correctly for Individual accounts in some cases. To work around this, follow the instructions for manual provisioning.
Audio Cues in the Editor: - We've introduced new audio cues in the Visual Studio editor. When enabled, Visual Studio will play sounds when the editing caret arrives on a line with a breakpoint, an error or a warning. By default, Visual Studio uses the same sounds as Visual Studio Code, but these sounds can be configured to the user's preference. - To enable audio cues, head to ToolsOptions and look for "Preview Features" under Environment. In the Preview Features, the new option is "Enable Audio Cues for the editor". If it's checked, the next time Visual Studio is started, the sounds will play. - To configure individual audio cues, tap the Windows key in either Windows 10 or Windows 11 and search for "Change system sounds". Under the Program Events, look for the "Microsoft Visual Studio" node in the Program Events tree. The new events are "Line has Breakpoint", "Line has Error" and "Line has Warning". This can be used to customize or disable individual sounds.
Git Tooling: - Line-staging support, a.k.a interactive staging with the ability to stage specific lines and/or chunks of code right from the editor and the diff view. To get started, stage one of your recent changes by selecting the corresponding color margin and utilizing the Peek Difference UI to stage your change.
C++: - The Arm64EC toolchain is no longer marked as experimental and is ready for production use. - The Visual Studio Terminal can now be used as an SSH client with your stored SSH connections. With the C++ for Linux Tools installed, open the Terminal tool window and the Terminal dropdown will be populated with your stored connections. If selected, they will open a new Terminal window inside Visual Studio and a pseudoterminal on your remote system. Control characters, colors, and cursor positional awareness are all supported. - Go to Definition will now remember the prior signature and navigate accordingly when a better match is not available (e.g. after you manually changed the signature of one of the pair). - Improved responsiveness of Go To All. Previously, results appeared after you stopped typing. In the new experience, results will show as you type. - In contexts requiring enum type completion (e.g. assignments to enum variables, case labels, returning enum type, etc.) the autocompletion list will now be filtered to just the matching enumerators and related constructs. - Added NuGet PackageReference support for C++/CLI MSBuild projects targeting .NET Core. This change was made to unblock mixed codebases from being able to adopt .NET Core. This does not work for other C++ project types or any C++ project types targeting .NET Framework. There are no plans to extend PackageReference support to additional C++ scenarios as the team is working on separate experiences involving vcpkg which will work for non-MSBuild scenarios and add additional functionality. - Added a Serial Monitor window for embedded development, available through Debug > Windows > Serial Monitor. - Improved C++ indexing by ~66% compared to 17.2. - Updated the version of CMake shipped with Visual Studio to version 3.23. See the CMake 3.23 release notes for details of what is available. - Upgraded the versions of LLVM tools shipped with Visual Studio to v14. See the LLVM and Clang release notes for details of what is available. - Updated the side by side Dev 16.11 C++ Toolset to version 14.29.30145.00. The latest version of the Dev 16.11 C++ Toolset contains important bug fixes, including fixing all remaining C++20 defect reports. For information about bug fixes, including C++20 defect reports in Dev 16.11 - We have made various improvements to the in-editor experience of C++ modules. "we're continuously working on improving the quality of the experience but encourage you to try in 17.3 and report remaining issues through Developer Community.
Debugging & Diagnostics: - Diagnostics Analysis tools now include an analyzer that lists the unique call stacks in a memory dump along with the threads executing them. - IEnumerable visualizers now support data export in CSV format. Just use the dropdown on the top right corner and select CSV.The Visualizer will also allow you to filter data based desired filter string. The Visualizer will return all the rows that contain a value that matches the filter string. You can also export the filtered and sorted results in CSV/Excel format. - We also added the themeing support for IEnumerable and DataTable/DataSet visualizer, so both of these visualizer window are themed for Visual Studio’s dark, light and blue theme. - Starting 17.3 preview 3 debugger will automatically reload pervious decompiled artifacts like symbols and PDB files. If you choose to decompile at any previous session the artifacts will automatically be reloaded for all the next sessions and will get you to the decompiled sources faster in External Sources node. This will still honor your JMC settings. - Debugger now provides a new option to disable the load of NGEN or ready to load (RDR) images for managed code. You can change the settings under Tools > Options> Debugging > General > Prevent using precompiled images on module load or you can also easily search the settings using any of the keyword in the Visual Studio search bar. - You will now see the Exception stack frames inside the Call Stack window, so for all async exceptions, you can quickly load symbols or locate sources and go directly to the site of the exception. Exception stack frames inside the Call Stack window will provide functionalities of the actual call stack.Features like automatic navigation, quickly switching back and forth between frames, and symbol load / decompile options to get back to the source code where the exception was thrown.
General: - GitHub accounts now roam across machines when signing in on a new machine with the same personalization account (account shown in the top left of the account settings dialog).
Installer: - You can now update all side-by-side versions of Visual Studio with an “Update all” button on the installer. - Microsoft Teams Development Tools (Teams Toolkit): - The Microsoft Teams App project template has been improved and now creates various types of Teams app, including notification bot, command bot, tab app and message extensions. You can now create and debug various Microsoft Teams App using Teams Toolkit for Visual Studio. - We recommend creating a new project using the updated template for any existing Teams Apps you've created with previous versions of the Teams Toolkit. - You can now choose when to sign-in with your M365 identity and register Teams app resources using the Project > Teams Toolkit > Prepare Teams App Dependencies menu option. - Prepare Teams App Dependencies will register the Teams app and Bot for your Teams project. - Updates to the manifest.template.json files can be synchronized with Teams Developer Portal for local debug by selecting "Prepare Teams App Dependencies" menu option again at any time. - Updates to the manifest.template.json files can be synchronized with Teams Developer Portal for remote preview by selecting Project > Teams Toolkit > Update Manifest in Teams Developer Portal menu option. - You can preview manifest file before synchronization by right click manifest.template.json file and use Preview Manifest File menu option. - Use the Project > Teams Toolkit > Provision in the Cloud menu to create resources in an Azure subscription. - Use the Project > Teams Toolkit > Deploy to the Cloud menu to publish code to those resources. - You can open Teams app remotely in a browser that are created from the Provision menu using the Preview Teams app menu. - You can zip the Teams app and generate app package by select Project > Teams Toolkit > Zip App Package menu option for sharing and uploading purpose. - You can find all Teams Toolkit menu options by right click on the Teams app project, they are the same as the Project > Teams Toolkit menu.
.NET Productivity: - In C# 10 we introduced Global Usings. Global Usings adds usings to the top of a file invisibly and automatically. We now surface an icon at the top of your file to let you know if Global Usings are active in your file and if you click on the icon, it will show you what those Global Usings are. Global Usings - Peek Definition now supports source link, embedded source, and decompiled sources. Peek Definition
We added the following three options for collapsing and outlining views on file open: - Collapse #regions on file open - Collapse usings on file open - Collapse implementations from metadata on file open - You can now apply Fix All to both the Use expression body or block body and Convert to raw string literal refactoring. - We now have a code fix that fixes invalid constraints. Place your cursor on the diagnostic squiggle in the editor. Press Ctrl+. to trigger the Quick Actions and Refactorings menu. Select Fix constraint. Fix Constraint - We now have a refactoring that allows you to switch between top-level statements and the Program.Main style. Place your cursor on a top-level statement. Press Ctrl+. to trigger the Quick Actions and Refactorings menu. Select Convert to ‘Program.Main’ style program. Convert to Program.Main refactoring - We added additional scopes to the Fix All operation. In addition to applying the Fix All operation to a Document, Project, and Solution, you can apply Fix All to a Containing Member and Containing Type. Fix All Containing Members and Containing Types - We now automatically convert single line comments to doc comments when you add an additional forward slash to a single line comment. - We now have a code style option that allows you to warn on possible exceptions in a foreach loop. Foreach loops implicitly casts to derived types by design. This was necessary before generics existed but can lead to runtime exceptions in some cases.
Personalization: - Document management capabilities have been updated. Read our blog post to learn more.
These features include: - Tabs arranged in multiple rows - Restore recent document - Modified dirty indicator - Dropdown shows names of invisible docs in italics
Razor (ASP.NET Core) Editor: - The new Razor editor now has full completion support inside of an . - The new Razor editor now correctly handles completion for HTML attributes when typing = “ ”. - The new Razor editor now support HTML, JavaScript, and CSS OnTypeFormatting.
Test tools: - Parallel Discovery is now enabled by default when running tests from the Test Explorer. This enables Visual Studio to use available cores to discover tests in parallel and reduce the time to see tests in the Test Explorer. - The Live Unit Testing window now has a status bar, similar to the Test Explorer. This should give you better insight on the operations ongoing in Live Unit Testing as well as visibly surface errors. Live Unit Testing Status Bar - vstest.console now supports running assemblies of different target platforms and target frameworks in one request. - Code Coverage now has a cache for static instrumentation for better performance. - Microsoft.CodeCoverage.Console is now added to the command line tools. - The default architecture for AnyCPU .NET Framework test projects changed from x86 to x64. This change unifies how the default architecture is determined across all types of test projects to be always based on the architecture of Visual Studio. Meaning that in x64 version of VisualStudio, x64 will be used, and in future ARM64 VisualStudio, ARM64 will be used. The same rule also applies to dotnet test, and vstest.console. To revert to using x86, navigate to Test > Processor Architecture for AnyCPU projects > x86 - Remote Testing now supports test runs against remote arm64 windows environments. - The new build experience for [Live Unit Testing] is now enabled by default. Read our blog post to learn more. - You can now choose to see code coverage information on the editor margin by selecting "Margin Glyphs" in the Code Coverage Results window. Convert to raw string - Live Unit Testing now provides a button to reset all state. By going to Test > Live Unit Testing > Reset Live Unit Testing state for solution. Live Unit Testing Reset State - Live Unit Testing now supports Razor files.
TypeScript and JavaScript Development: - JavaScript and TypeScript files projects are now excluded from program analysis unless they are referenced by a tsconfig.json or jsconfig.json file. The result should be improved performance in large projects with lots of TypeScript and JavaScript files. - JavaScript (.esproj) projects that are referenced from an ASP.NET project now provide an option to include production build output in ASP.NET project publishing. - The TypeScript 4.7 language service and compiler are included in Visual Studio. See the TypeScript 4.7 announcement blog post for more. - The new multi-target JavaScript debugger is now used by default in Node.js (.njsproj) projects. - Auto-closing HTML tags in JavaScript and TypeScript React (.jsx/.tsx) files. - Fixed an issue where Automatic Type Acquisition (ATA) did not work when the default TypeScript language server is selected. - Fixed an issue where the dependencies node in Node.js (.njsproj) projects showed indirect dependencies when packages are restored using npm 7 or greater.
Security Advisory: - CVE-2022-34716 .NET Spoofing Vulnerability External Entity Injection during XML signature verification - CVE-2022-31012 Remote Code Execution Git for Windows' installer can be tricked into executing an untrusted binary - CVE-2022-29187 Elevation of Privilege Malicious users can create a .git directory in a folder that is owned by a super-user - CVE-2022-35777 Remote Code Execution Visual Studio 2022 Preview Fbx File parser Heap overflow Vulnerability - CVE-2022-35825 Remote Code Execution Visual Studio 2022 Preview Fbx File parser OOBW Vulnerability - CVE-2022-35826 Remote Code Execution Visual Studio 2022 Preview Fbx File parser Heap overflow Vulnerability - CVE-2022-35827 Remote Code Execution Visual Studio 2022 Preview Fbx File parser Heap OOBW Vulnerability
From Developer Community: - search in cmake view doesnt filter files - "Go To Document" (F12) for C++ #include statements fails when using /external:I - Error: Value cannot be null. Parameter name: path1 - devenv crashes while debugging - Adding strings to resx file pops a modal error dialog - Add include quick-action adds header along INCLUDES <> path rather than relative header via "" - Outlining collapses code AFTER user navigates to it via search results item or go-to-definition, etc - Tried to Hot Reload a .NET MAUI Blazor app and got an exception - Pasted Comments Indentation Issue - VS2019 standard exception headers: warning C5240: 'nodiscard': attribute is ignored in this syntactic position - C6389 false positive on main etc - XAML design mode in Blend 2019 (previously reported and closed) - Visual Studio 2022 : Double Clicking on solution file in the Source Control Explorer opens the sln file as plain text - Light Bulb Suggestion "Encode image in base64" Missing in Visual Studio 2022 CSHTML editor - CSS editor says ::deep is not a valid pseudo-element - After an install of 17.1.0 Preview 1.1, the IDE fails to launch with the following dialogs. Uninstalling and reinstalling fail to resolve. - The “CompareBuildTaskVersion” task could not be loaded from the assembly - MsBuild doesn't give /delayload flags to linker when using LLVM toolchain - env in launch.vs.json doesn't work for native - Support ::deep in .razor.css CSS isolation files to avoid validation warnings in the log - Blend 2022 'visual studio xml editor package' package did not load correctly' - Code coverage not generating results with visualstudio2022testagent - The selected certificate is not valid for code signing - Project options parameter values are retained in the same instance rather than resetting after the project creation - .Net Async profiler tool doesn't show anything - spacing fix-up A && B -> A&& B - Git no longer supports 'preserve-merges', stop offering that option - After fresh install of Visual Studio 2022 Version 17.1 "devenv.exe" does not start. - PreFAST: integer status code works, class-holding-integer status code does not - Unable to add Windows Application Packaging Project to Xamarin Forms Solution in Visual Studio Community 2022 - PreFAST: Incorrect Build break - error C2036: 'intarr (*)': unknown size - JSON Visualizer confused by array containing numbers with decimal point - Inline hints experience is very poor - RequestExecutionQueue fails to dispose of a linked CancellationTokenSource - create app packages crashes visual studio with no info as to why - HTTP Configuration loaded as HTTPS configuration in Blazor Server Project - Visual Studio hangs when trying to do a renaming of classes - Syntax highlighting for variables/functions with keyword as name - IDE freezes when building a .NET 6 project - 'git' is not recognized as an internal or external command, operable program or batch file. - DkmCustomUIVisualizerInfo and random order in context menu - Can't run .NET MAUI project after adding it to a solution and setting it as the startup project - Visual studio 2022 hangs when pasting in files or adding new files - Autocompletion does not work with macro. (Visual Studio 2022 17.1) - Continuous high CPU usage by Microsoft.ServiceHub.Controller.exe - Crash of process devenv.exe System.NullReferenceException - VS 2022 crash on file rename in Solution Explorer - Format Document doesn't work on fxh - Breakpoints are not being hit when debugging Xamarin application in Visual Studio 2022 - Generating a CMake cache using CMakePresets.json deletes folder content - Go To Files doesn't show files inside folders when using "Show all files" - Visual Studio should update Entitlements.plist when checking Health Kit option - What is new is causing a goldbar on startup for performance - MSIX Signing Extension Requi
Microsoft Visual Studio Community 2022 17.7 相關參考資料
How to install Visual Studio 2022 Communit 17.7.6 version ...
2023年11月22日 — Developer Community. Your open channel to Microsoft engineering teams. Select a page .
https://developercommunity.vis
Visual Studio 2022 17.7 版本資訊
取得Visual Studio 2022 預覽版的最新功能、錯誤(bug) 修正與支援。 立即下載。
https://learn.microsoft.com
Visual Studio 2022 Release History
2024年1月22日 — A list of released versions, build numbers, and release links for Visual Studio 2022.
https://learn.microsoft.com
Visual Studio 2022 Release Notes
6 天前 — Learn about the latest features, bug fixes, and support for Visual Studio 2022. Download today.
https://learn.microsoft.com
Visual Studio 2022 version 17.7 Release Notes
2024年1月22日 — Get the latest features, bug fixes, and support for Visual Studio 2022 Preview. Download today.
https://learn.microsoft.com
Visual Studio 2022 Version 17.7.5. Windows task bar. ...
2023年11月10日 — A fix for this issue has been released! Install version 17.9.0 Preview 1 from https://visualstudio.microsoft.com/downloads/. Thank you for ...
https://developercommunity.vis
Visual Studio 2022 – 17.7 Now Available
2023年8月8日 — We're delighted to announce the General Availability (GA) of Visual Studio 2022 version 17.7 today. This release is a testament to our ...
https://devblogs.microsoft.com
Visual Studio 2022 版本歷程記錄
2024年1月22日 — Visual Studio 2022 已發行版本、組建編號和版本連結的清單。
https://learn.microsoft.com
Visual Studio 2022 版本資訊
4 天前 — 了解Visual Studio 2022 的最新功能、錯誤(bug) 修正與支援。 立即下載。
https://learn.microsoft.com
Visual Studio 2022 預覽版的版本資訊
2024年2月16日 — 預覽通道未「上線」,且不適合在實際執行電腦上使用或建立實際執行程式碼。 如需詳細資訊,請參閱Visual Studio 產品生命週期與服務。 Download Community ...
https://learn.microsoft.com
|