What's new in this version: Microsoft Visual Studio Community 2022 17.8.2 Fixed: - Fixed an issue where, in certain situations, a document window can get stuck showing a loading message - In some cases (when a project is located under a solution folder) you may see an error when saving the project. The project would get saved but you would see an error about unable to cast a COM object. This issue is now fixed so the error is no longer displayed.
Microsoft Visual Studio Community 2022 17.8.1 - The updated version of IncrediBuild fixes an issue where building CMake projects using the standard build menu commands would incorrectly redirect the build to use IncrediBuild by default
Microsoft Visual Studio Community 2022 17.8 Summary of What's New in this Release of Visual Studio 2022 version 17.8: - Preview 3 is dedicated to addressing community submitted feedback where we resolved nearly 100 Developer Community tickets. Our primary focus was improving stability and reliability while also introducing a few new features.
Git Tooling: Developer Community Highlights: - Fixed disable automatic multi-branch-history toggling of current/initial Git branch on Git Repository dialog. This avoids disrupting current flows while working in the Git Repository window. - Fixed Git branches side bar does not stay collapsed to better respect user preferences. - Fixed the MessageBar has low contrast in the new VS 2022 17.8.0 Preview 1.0 to make the infobar appear with appropriate contrast.
SQL: - Upgraded Microsoft.Data.SQLClient (MDS) from version 3.0 to version 5.0 in SQL Server Data Tools (SSDT) Read more - Two new fields are added to Connect dialogue box - The Encrypt property now defaults to true (enabled) when connecting. If a server does not have a trusted certificate configured, the use of Trust Server Certificate set to true may be appropriate. For more details, please refer to the documentation
Additionally: - We added an overlay to the VS task bar icon to help you know when VS will update. When there is an update available and you have enabled the "Update on Close" option, the icon will appear. Once you close VS, an update will immediately start and as a result the icon will also disappear. For more information on Update on Close, please visit VS Update on Close - Productivity Features
GitHub Actions Tooling: - We addressed the unexpected behavior of the new GitHub Actions node in Solution Explorer appearing for repos not hosted on GitHub.com. The new node should now only appear for repos hosted on GitHub.com. Next, we are working on the ability to turn off the new node via Tools > Options.
Microsoft Teams Toolkit: - In the latest Visual Studio 2022 version 17.8 we introduce more project templates to fit in more business scenario and to make getting start simpler. New templates are: - an Echo Bot template which echoes user inputs. - a Link Unfurling template which is a type of Message Extensions app that can render URL links to adaptive cards. - a Custom Search Result template which is a Search type of Message Extensions apps that can allow users directly search and show results from chat area or search bar. - a Collect From Input and Process Data template which is an Action type of Message Extensions app that get users input, perform some logic and then send results back to users. - We also redesign our UI for you to easier select among templates, we add filters and tags for different type of templates. - Teams Toolkit Templates UI
Edit your Pull Request Descriptions with Markdown: - Use the Markdown editor with your pull request descriptions to render headers, bulleted lists, and other Markdown syntax by clicking on the "Preview" button. Enable this via Preview Features > Git Pull Request - Markdown.
Summary Diff Improvements: - Building on Preview 1, we've improved the Summary Diff UI and enabled expanding and collapsing specific regions in the summary view. This allows you to get a little more context on hidden lines when necessary. Try this out by clicking the Summary button in the upper right corner when you're comparing files or checking against previous versions of your code.
GitHub Avatars added to Git Repository Window: - See your GitHub avatars in the multi-branch graph in the Git Repository Window.
Multi-Repo Activation Setting: - In some workflows, it was important to control whether multi-repo was activated automatically. With a new setting you can keep your focus on an individual repository without seeing the multi-repository UI.
Code Search and Navigation: - As we’ve been working on performance and reliability improvements in All-In-One Search experience, we’ve also added a status bar that displays the count of each type of result that’s been returned.
GitHub Copilot: - Supercharging your productivity with Visual Studio gets a lot easier in the newest release of Visual Studio. GitHub Copilot autocomplete is now available as an optional component, making it far easier to install along with a new Visual Studio install or for an administrator to package with an update. A subscription is required to activate features; free trial is available. - Component details here: Visual Studio Enterprise workload and component IDs | Microsoft Learn.
Visual Studio Update Notification: - Noticed something new? For Visual Studio 2022, we added an overlay to the VS task bar icon to help you know when VS will update. - When there is an update available and you have enabled the "Update on Close" option, the icon will appear. Once you close VS, an update will immediately start and as a result the icon will also disappear. For more information on Update on Close, please visit VS Update on Close.
F#: - Conducted an overhaul of code fixes, resolving numerous bugs (details here). - Introduced a new code fix that changes equals (=) to a colon (:) in record field definitions: New F# code fix - Implemented an option to activate diagnostics for unopened files. This is turned off by default for performance considerations (details here).
Enhanced autocompletion in various scenarios including: - Anonymous record fields: Improved autocomplete in anonymous record fields - Union case fields: Improved autocomplete in union case fields - Discriminated union case fields: Improved autocomplete in discriminated union case fields - Enum case value expressions: Improved autocomplete in enum case value expressions - Addressed issues related to anonymous record handling in FSI - Rectified misleading line numbers in FSI - Unified tooltips for auto-properties: Unified tooltips for auto-properties - Bettered parameter name hints by hiding them for argument names that match with discriminated union fields: Improved parameter name hints - Resolved issues with navigation to the definitions of external enums and discriminated unions - Fixed finding references for operators starting with '>'
Debugging and Diagnostics: Cross platform Enc/Hot Reload debugging support: - We have added support for Edit and Continue for F5 (with debugger) and Ctrl-F5 (no debugger) scenarios when diagnosing and debugging apps hosted on Linux containers or in Windows Subsystem for Linux (WSL). Please note the F5 debugging scenario relies on .NET 8 RC1 and above.
Debug Linux App Services via Attach to Process: - We are excited to unveil a powerful new feature that enables debugging of .NET processes in Linux App Services - via "Attach to Process". - This feature empowers developers to effortlessly debug and diagnose issues within their running Linux Azure App Services instances. - To attach to a process: - 1.Select Debug > Attach to Process (or press Ctrl+Alt+P) to open the Attach to Process dialog box. - 2.Check the Connection type. It should be "Microsoft Azure app Service" - 3.Set the Connection target to your Linux machine name. - 4.Select the correct available process and click "Attach"
BenchmarkDotNet IDiagnosers: - The Visual Studio Profiler now support BenchmarkDotNet IDiagnosers. These IDiagnosers play a crucial role in the aggregation of diagsessions originating within BenchmarkDotNet scenarios. - The Benchmark tab offers a visualization of the executed benchmarks. It also provides the ability to precisely choose a benchmark from the swimlane by a double-clicking on a specific row. - Alternatively, you have the option to navigate to the source file through the right-click context menu. The statistical data is sourced directly from BenchmarkDotNet and is presented in a structured grid format. - Enhanced Theme Support for Breakpoint Settings Window: - We have added a theming support to the Breakpoint Setting window, ensuring seamless consistency across Visual Studio's Light, Dark, and Blue themes. - .Net Counter Support for New Instruments via Meters API: - The .NET Counters tool now introduces integration of the .NET Meters API, encompassing new instrument options including "Counter" and "ObservableCounter" - The "Counter" keeps track of a value changing over time, with the caller reporting updates using "Counter.Add." In contrast, the "ObservableCounter" is like the Counter but the caller takes care of keeping track of the total value. Currently .NET Counters tool reports the rate of change in the total. - You can find these metrics in the list of the .NET counter metrics roster, offering enhanced visibility into system performance and resource utilization.Furthermore, we're actively planning to introduce additional instrument options in the future to enhance this capability even further.
Test Profiling with Diagnostics Hub: - We are thrilled to introduce an updated Test Profiling capabillity. When you right click on your test in Test Explorer and select "Profile," you can now select between a set of available tools including: - CPU Usage - GPU Usage - File IO - .NET Async - Events Viewer - Select which tools you want to use and click "Start" and a report will be provided
Developer Community Suggestions: You asked, we listened: - Blank Solution project template missing 33 Votes - QuickFind selection lost / not respected. Keyboard shortcuts lost. 20 Votes - Visual studio ASAN throws critical error when fetching clipboard data 11 Votes - VS 2022 Watch window and breakpoints fail to evaluate expressions involving C++/CX hat (^) pointers 5 Votes - C++ IntelliSense for std::ranges::iota_view<size_t, size_t> error 5 Votes - ARM64 memchr implementation may not be standard conformant - Standalone React TypeScript project template fails with part of path not found - Csproj Editor does not open due to AndroidPackageFormat
Microsoft Visual Studio Community 2022 17.7.5 - This fixes an issue where the configuration that was selected in previous Visual Studio sessions wasn't being restored - The CMake cache no longer generates automatically when "Never run configure step automatically" is selected in the settings - Fixed C++ modules bugs and added several modules throughput improvements. When using LTCG (/GL), in certain rare cases, the compiler could fail to realize that a global variable might be modified during program execution and instead incorrectly conclude it's constant, and improperly propagate it's initial value to locations where the global variable is used. - Updates .NET 7 MAUI to SR8. Fixes an issue where MAUI apps cannot compile with Xcode 15 when Linker was disabled. - Fixed several issues related to display DPI changes that could result in a crash or hang - Fixed an issue where opening a folder would cause an error related to "Process Telemetry" to be displayed if certain Visual Studio Workloads or Individual Components are not installed
Microsoft Visual Studio Community 2022 17.7.4 - Updated version of Git used by Visual Studio to v 2.41.0.3 - Fixed a crash while applying changes with hot reload on a decompiled module - Ensures the security of the VS Installer Elevation Service by adding quotes to the path, preventing process hijacking along the path
Microsoft Visual Studio Community 2022 17.7.3 - Added support to list simulators and devices with Xcode 15 and removed the NewsstandKit hard link dependency - Fixed an issue preventing the Visual Studio Installer from running when there is a symlink in the installer path - The new Include Cleanup feature for C++ which was added in 17.7 has been causing crashes for users, so we have disabled it for now, with a view to re-enable in 17.8
Microsoft Visual Studio Community 2022 17.7.2 - Certain endpoint security and application control programs were inducing instability in Visual Studio. This has been addressed - Fixed crashes experienced by some users of the "Install WSL For Me" experience - Users who opened a folder containing a CMake project may have experienced an indefinite hang in Visual Studio. The race condition causing this hang has been identified and fixed.
Microsoft Visual Studio Community 2022 17.7.1 Developer Community: - Commented out code is not colored correctly - Output Window for Application disappear - Fixes Csproj Editor does not open due to AndroidPackageFormat - Solution Folders cannot be renamed
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.<
Microsoft Visual Studio Community 2022 17.8.2 相關參考資料
Unable to install automated Visual Studio 2022 update 17.8.2
2023年12月5日 — Developer Community · 1.Close the Visual Studio Installer. · 2.Delete the Visual Studio Installer folder. Typically, the folder path is C:-Program ...
https://developercommunity.vis
Visual Studio 2022 17.8 Preview 2 has arrived!
2023年9月14日 — We hope everyone enjoyed all the new and updated features that came with our first preview of Visual Studio's next version, and now we're ...
https://devblogs.microsoft.com
Visual Studio 2022 17.8 版的版本資訊
了解Visual Studio 2022 預覽版的最新功能、錯誤(bug) 修正與支援。 立即下載。
https://learn.microsoft.com
Visual Studio 2022 17.8.2 is really slow to start building ...
2023年11月30日 — Developer Community · 1. In Visual Studio, use Help->Send Feedback->'My Feedback'. · 2. Click 'Provide More Info'. · 3. Select Attach System logs ...
https://developercommunity.vis
Visual Studio 2022 Release Notes
Learn about the latest features, bug fixes, and support for Visual Studio 2022. Download today.
https://learn.microsoft.com
Visual Studio 2022 version 17.8 Release Notes
2024年2月13日 — Learn about the latest features, bug fixes, and support for Visual Studio 2022 Preview. Download today.
https://learn.microsoft.com
Visual Studio 2022 version 17.8.2 released
2023年11月28日 — Visual Studio 2022 version 17.8.2 released. released Nov 28th, 2023. Summary of What's New in this Release of Visual Studio 2022 version 17.8.
https://www.tenforums.com
Visual Studio 2022 版本歷程記錄
2024年1月22日 — Visual Studio 2022 已發行版本、組建編號和版本連結的清單。
https://learn.microsoft.com
Visual Studio 2022 版本資訊
2024年2月13日 — 了解Visual Studio 2022 的最新功能、錯誤(bug) 修正與支援。 立即下載。
https://learn.microsoft.com
Visual Studio 2022 預覽版的版本資訊
2024年2月16日 — 取得Visual Studio 2022 預覽版的最新發行前版本功能、Bug 修正和支援。 立即下載。
https://learn.microsoft.com
|