Visual Studio Icon Visual Studio 2019 version 16.9 Release Notes



Developer Community | System Requirements | Compatibility | Distributable Code | Release History | License Terms | Blogs | Whats New in Visual Studio Docs


Note

This is not the latest version of Visual Studio. To download the latest release, please visit the Visual Studio site.



What's New in Visual Studio 2019 version 16.9

Support Timeframe

Visual Studio 2019 version 16.9 is the fourth supported servicing baseline for Visual Studio 2019. Enterprise and Professional customers needing to adopt a long term stable and secure development environment are encouraged to standardize on this version.  As explained in more detail in our lifecycle and support policy, version 16.9 will be supported with fixes and security updates through October 2022. October 2022 is one year after the release of Visual Studio 2019 version 16.11, which was declared as the final servicing baseline.

In addition, now that version 16.9 is available, version 16.7, which was the last servicing baseline, will be supported for an additional 12 months and will go out of support in April 2022. Note as well that versions 16.8 is no longer under support either. These intermediary releases received servicing fixes only until the next minor update released.

You can acquire the latest most secure version of Visual Studio 2019 version 16.9 in the downloads section of my.visualstudio.com. Refer to the latest version of the release notes or visit the Visual Studio site to download the latest supported version of Visual Studio 2019. For more information about Visual Studio supported baselines, please review the support policy for Visual Studio 2019.

Visual Studio 2019 version 16.9 Releases

Visual Studio 2019 Archived Release Notes

Visual Studio 2019 Blog

The Visual Studio 2019 Blog is the official source of product insight from the Visual Studio Engineering Team. You can find in-depth information about the Visual Studio 2019 releases in the following posts:


Release Notes Icon Visual Studio 2019 version 16.9.26 New release icon

released October 11, 2022

Issues Addressed in this release:

  • Administrators will be able to update the VS Installer on an offline client machine from a layout without updating VS.

Security Advisory Notice


Release Notes Icon Visual Studio 2019 version 16.9.25

Security Advisory Notice

  • 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.

Release Notes Icon Visual Studio 2019 version 16.9.24

released August 9, 2022

Issues Addressed in this release:

  • Updates Git for Windows to v2.37.1.1 addressing CVE-2022-31012.

Security Advisory Notice


Release Notes Icon Visual Studio 2019 version 16.9.23

released June 14, 2022

Issues Addressed in this release:

  • Updated LibraryManager to accommodate changes to cdnjs API

Security Advisory Notice


Release Notes Icon Visual Studio 2019 version 16.9.21

released May 10, 2022

Issues Addressed in this release:

  • Updated Git for Windows version consumed by Visual Studio and installable optional component to 2.36.0.1
  • Fixed an issue with git integration, where if pulling/synchronizing branches that have diverged, output window would not show a localized hint on how to resolve it.

Security Advisory Notice

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

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

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

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


Release Notes Icon Visual Studio 2019 version 16.9.20

released April 19, 2022

Issues Addressed in this release:

  • Fixed vctip.exe regression from 16.9.19

Release Notes Icon Visual Studio 2019 version 16.9.19

released April 12, 2022

Issues Addressed in this release:

Security Advisory Notice

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

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

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


Release Notes Icon Visual Studio 2019 version 16.9.18

released March 8, 2022

Issues Addressed in this release:

Security Advisory Notice

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

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

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

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


Release Notes Icon Visual Studio 2019 version 16.9.17

released February 8, 2022

Issues Addressed in this Release:

Security Advisory Notice

CVE-2022-21986 Vulnerability A Denial of Service vulnerability exists in .NET 5.0 and .NET 6.0 when the Kestrel web server processes certain HTTP/2 and HTTP/3 requests

CVE-2022-21871 Diagnostics Hub Standard Collector Runtime Elevation of Privilege Vulnerability An elevation of privilege vulnerability exists if the Diagnostics Hub Standard Collector incorrectly handles data operations.


Release Notes Icon Visual Studio 2019 version 16.9.16

released January 11, 2022

Issues Addressed in this Release:

  • Fixed intermittent crash with link.exe when building large projects with Visual Studio 16.8.5 or later.
  • Fixed an issue with being unable to debug applications multiple times when Windows Terminal is used as the default terminal.
  • Setup fix to unblock customers on restricted configurations
  • Fixed an issue that prevented a client from being able to update a more current bootstrapper. Once the client is using the bootstrapper and installer that shipped January 2022 or later, all updates using subsequent bootstrappers should work for the duration of the product lifecycle.

From Developer Community


Release Notes Icon Visual Studio 2019 version 16.9.15

released December 14, 2021

Issues Addressed in this Release:

  • Added Python 3.9.7 to Python workload. Removed Python 3.7.8 due to a security vulnerability.

Security Advisory Notice

CVE-2021-43877 Vulnerability An elevation of privilege vulnerability exists in ANCM which could allow elevation of privilege when .NET core, .NET 5 and .NET 6 applications are hosted within IIS.


Release Notes Icon Visual Studio 2019 version 16.9.14

released November 16, 2021

Issues Addressed in this Release:

  • The bootstrappers now respect the --useLatestInstaller parameter, which causes the latest installer to be integrated into layout. This latest installer, which ships with Visual Studio 2022, enables the scenario where enterprises want to transition their clients from one layout location to another. For more information, refer to the [Visual Studio Administrators Guide](* The bootstrappers now respect the --useLatestInstaller parameter, which causes the latest installer to be integrated into layout. This latest installer, which ships with Visual Studio 2022, enables the scenario where enterprises want to transition their clients from one layout location to another. For more information, refer to the Visual Studio Administrators Guide.).

Release Notes Icon Visual Studio 2019 version 16.9.13

released November 09, 2021

Issues Addressed in this Release:

  • Fixed a bug that caused a start menu shortcut link to disappear. The bug only happened when updating multiple instances of different product SKUs on the same machine.

Security Advisory Notice

CVE-2021-42319 Elevation of Privilege Vulnerability An Elevation of Privilege vulnerability exists in the WMI Provider that is included in the Visual Studio installer.

CVE-2021-42277 Diagnostics Hub Standard Collector Service Elevation of Privilege Vulnerability An elevation of privilege vulnerability exists when the Diagnostics Hub Standard Collector incorrectly handles file operations.


Release Notes Icon Visual Studio 2019 version 16.9.12

released October 12, 2021

Issues Addressed in this Release:

  • Updates to the ARM64 and ARM64EC interfaces between the binary and the POGO instrumentation runtime.

Security Advisory Notice

CVE-2021-41355 Disclosure Vulnerability in .NET 5.0

An Information Disclosure vulnerability exists in .NET where System.DirectoryServices.Protocols.LdapConnection sends credentials in plain text on Linux.

CVE-2020-1971 OpenSSL Denial of Service Vulnerability

A potential denial of service vulnerability exists in OpenSSL library, which is consumed by Git.

CVE-2021-3449 OpenSSL Denial of Service Vulnerability

A potential denial of service vulnerability exists in OpenSSL library, which is consumed by Git.

CVE-2021-3450 OpenSSL Denial of Service Vulnerability

A potential flag bypass exists in OpenSSL library, which is consumed by Git.


Release Notes Icon Visual Studio 2019 version 16.9.11

released September 14, 2021

Issues Addressed in this Release:

  • We have fixed a fatal internal compiler error caused by unnamed structs whose fields are referenced from SAL annotations.
  • Fixes a rare crash when analyzing templated code that uses __uuidof.

Security Advisory Notice

CVE-2021-26434 Visual Studio Incorrect Permission Assignment Privilege Escalation Vulnerability

A permission assignment vulnerability exists in Visual Studio after installing the Game development with C++ and selecting the Unreal Engine Installer workload. The system is vulnerable to LPE during the installation it creates a directory with write access to all users.

From Developer Community


Release Notes Icon Visual Studio 2019 version 16.9.10

released August 10, 2021

Issues Addressed in this Release:

  • No longer send paths on disk when reporting which extensions are installed.
  • Fixed an IntelliSense crash that occurred when processing static data members in in-class template specializations.
  • Fixed an issue that affected command line execution of the update command. If the update fails the first time, a subsequent issuing of the update command now causes the update to resume the prior operation where it left off.

Security Advisory Notice

CVE-2021-26423 .NET Core Denial of Service Vulnerability

A denial of service vulnerability exists where .NET (Core) server applications providing WebSocket endpoints could be tricked into endlessly looping while trying to read a single WebSocket frame.

CVE-2021-34485 .NET Core Information Disclosure Vulnerability

An information disclosure vulnerability exists when dumps created by the tool to collect crash dumps and dumps on demand are created with global read permissions on Linux and macOS.

CVE-2021-34532 ASP.NET Core Information Disclosure Vulnerability

An information disclosure vulnerability exists in where a JWT token is logged if it cannot be parsed.


Release Notes Icon Visual Studio 2019 version 16.9.9

released July 13, 2021

Issues Addressed in this Release:

  • Fixed an ARM64X issue where Outlook crashes when using addins.
  • Fixed an issue in the C++ compiler will incorrectly perform if-conversions.
  • Fixed an ASan issue with compatibility on the latest Windows update.
  • ASan no longer reports a false-positive memcpy memory regions overlap error.
  • A function template with an unnamed function parameter of array type caused the parser to skip subsequent function definitions, resulting in a spurious constexpr error that a function is undefined when evaluating a call to it in a constant expression. The fix reenables the parsing of the skipped function definition.
  • We have fixed performance problem and false positives caused by one of the checker extensions that finds bugs in misuse of VARIANTs.
  • We have fixed performance problem caused by one of the checker extensions that finds bugs in misuse of enum values as index.
  • Fixed an Out of Memory leak when compiling multiple TUs.
  • Concurrency analyzer should no longer produce false warnings C26110 (failure to acquire lock) with auto-lock patterns.
  • This fix restores the behavior for external headers by skipping analysis of external headers and suppressing warnings from external headers.
  • The concurrency checks in code analysis got smarter. They are harder to fool with complex control flow.
  • Fixed issue related to layout creation.
  • Fixed an issue where updates could fail due to missing update channel information.

From Developer Community


Release Notes Icon Visual Studio 2019 version 16.9.8

released June 15, 2021

From Developer Community


Release Notes Icon Visual Studio 2019 version 16.9.7

released June 08, 2021

Issues Addressed in this Release:

  • Fixed a bug in the SSA instruction cloner.
  • Fixed an issue causing an mspdbcore.dll crash.
  • Fixed a long running/time out build of customer code bases.
  • Fixed an issue preventing developers to build PyTorch.
  • Fixes an internal MSBuild error (MSB0001) that arose when a large codebase was built with a 32-bit MSBuild.exe process.
  • Fixed an issue in the Container Tool Window causing a Visual Studio 2019 crash when developers tried to view mapped ports and then switch to a different container.

Security Advisory Notice

CVE-2021-31957 ASP.NET Denial of Service Vulnerability

A denial of service vulnerability exists when ASP.NET Core improperly handles client disconnect.

From Developer Community

Developer Community has a complete list of all of items shipping in this release.

Here are some of the top voted issues released in 16.9.7:

Release Notes Icon Visual Studio 2019 version 16.9.6

released May 18, 2021

Issues Addressed in this Release:

  • Fixes "Cannot access a disposed object. Object name:'System.Net.Http.StringContent'" when trying to create a certificate or running Automatic Provisioning.
  • Fixed a problem that prevents the iOS Hot Restart feature to work correctly.

From Developer Community

Developer Community has a complete list of all of items shipping in this release.

Here are some of the top voted issues released in 16.9.6:


Release Notes Icon Visual Studio 2019 version 16.9.5

released May 11, 2021

Issues Addressed in this Release:

  • Fixed an issue where Office tooling did not work as expected when using exports.
  • Fixed a Visual Studio 2019 crash that occurred during certain virtual calls between x64 and ARM64EC DLLs.
  • Resolved false-positive when running multi-threaded ASan-instrumented code.
  • Fixed a project failure producing the error "HRESULT E_FAIL has been returned from a call to COM component".
  • Fixes a problem when opening a C++ file on startup that would occasionally cause Visual Studio 2019 to stop responding.
  • Fixed an issue with CmakeSettings.json configuration of files in which new settings failed to persist.
  • Internal compiler error that was caused by analyzing a source file when the file path contains one or more non-ASCII characters has been fixed.
  • Fixed an issue in opening coverage files where one library has multiple entries in code coverage file.
  • Fixed a bug causing customers who login with non-work accounts with remote desktop enabled could result in access denial.
  • Fixed a bug causing Visual Studio 2019 to crash when developers were customizing their menus and clicked on a separator in the customize dialog.
  • Floating document windows are restored when opening a solution.
  • Fixed an issue causing updates to fail when an administrator creates a new layout of Visual Studio for deploying updates. The client machine update will fail since the layout has moved locations.
  • Fixed an issue causing a project build with fast deployment enabled will fail or deployment will take a long time.
  • Added Xcode 12.5 Support.
  • Fixed an issue causing updates to fail when an administrator creates a new layout of Visual Studio for deploying updates. The client machine update will fail since the layout has moved locations.

Security Advisory Notice

CVE-2021-27068 RCE possible when planting python.exe in nested folder

A remote code execution vulnerability exists when opening a workspace with python code and that workspace contains a python.exe in a scripts subfolder.

CVE-2021-31204 .NET Core Elevation of Privilege Vulnerability

An elevation of privilege vulnerability exists in .NET 5.0 and .NET Core 3.1 when a user runs a single file application on Operating Systems based on Linux or macOS.

From Developer Community

Developer Community has a complete list of all of items shipping in this release.

Here are some of the top voted issues released in 16.9.5:


Release Notes Icon Visual Studio 2019 version 16.9.4

released April 13, 2021

Issues Addressed in this Release:

  • Fixed a SFINAE bug causing an error with some forms of template names in non-dependent base classes.
  • Fixed case where IntelliCode is trying to log into a temporary directory and access to the temporary directory was denied.
  • An issue where some Visual Studio functionality was limited when third-party privilege management software is also installed has been resolved.
  • Addressed an issue where customers repeatedly start debugging on XBox, more and more kernel resources are consumed. Eventually requiring the XBox to be restarted, which would lose any state.
  • Addressed a hang when debugging native code with Insider Preview builds of Windows.
  • Fixed an accessibility bug with keyboard focus.
  • Added back missing Xamarin templates (iOS/Android Class Library, iOS/Android Bindings Library, Android Wear, Xamarin.UITest) in the New Project dialog. These templates were hidden by mistake.
  • For C++ CMake-based projects targeting Linux using an SSH connection, the destination directory specified in CMakeSettings.json by the remoteCMakeListsRoot property has been restored to the previous behavior in VS 16.8, where the destination of the copy corresponds to the source directory's root. Details in the ticket Connection to remote Linux machine uses incorrect destination path.

Security Advisory Notice

CVE-2021-27064 Visual Studio Installer Elevation of Privilege Vulnerability

A remote code execution vulnerability exists when the Visual Studio installer executes the feedback client in an elevated state.

CVE-2021-28313 / CVE-2021-28321 / CVE-2021-28322 Diagnostics Hub Standard Collector Service Elevation of Privilege Vulnerability

An elevation of privilege vulnerability exists when the Diagnostics Hub Standard Collector incorrectly handles data operations.

From Developer Community

Developer Community has a complete list of all of items shipping in this release.

Here are some of the top voted issues released in 16.9.4:


Release Notes Icon Visual Studio 2019 version 16.9.3

released March 30, 2021

Issues Addressed in this Release:

  • Fixed a crash in MSBuild that occurred when trying to build a solution with MSBuild.exe that contains a web site project.
  • Fixed a crash scenario caused by some dependencies on ServiceHub.
  • Fixed a blocking issue where users of XAML Visual Diagnostics Tool on Xbox or IoT devices were prohibited from remote debugging.

From Developer Community

Developer Community has a complete list of all of items shipping in this release.

Here are some of the top voted issues released in 16.9.3:


Release Notes Icon Visual Studio 2019 version 16.9.2

released March 16, 2021

Issues Addressed in this Release:

  • Update ARM64X global function pointer names
  • Fix for extracting first OBJ of an ARM64X LIB with link -lib -extract
  • Fixed an error were code compiled with Address Sanitizer and optimzations may produce bad code generation that causes Visual Studio 2019 to crash.
  • Fixed a crash caused by adding functions through the Dialog Editor in the Resource Editor
  • Nuget.org will no longer need to be removed as a package source twice
  • Improved NuGet package parsing performance
  • Fixed an error message about deprecated APIs customer received when using Azure SQL Database node in Server Explorer
  • Fixed an issue causing an error message indicating the CascadePackage did not load correctly
  • Fixed an issue causing a building project with fast deployment enabled to fail deployment or take additional time
  • Fixed an issue causing Hot Reload to now show saved changes under the "Full page" mode
  • Fixed an issue with Hot Reload causing Live Visual Tree to not work or apply changes.

From Developer Community

Developer Community has a complete list of all of items shipping in this release.

Here are some of the top voted issues released in 16.9.2:


Release Notes Icon Visual Studio 2019 version 16.9.1

released March 09, 2021

Security Advisory Notice

CVE-2021-21300 Git for Visual Studio Remote Code Execution Vulnerability

A remote code execution vulnerability exists when Visual Studio clones a malicious repository.

CVE-2021-26701 .NET Core Remote Code Execution Vulnerability

A remote code execution vulnerability exists in .NET 5 and .NET Core due to how text encoding is performed.

Issues Addressed in this Release:

  • Fix for emission of incorrect ARM64EC metadata to OBJs.
  • Fixed an issue where C++ with FixIts turned on which is the default option, would see error squiggles upon opening code.
  • In some cases, C++ IntelliSense tries to use extremely large numbers of include paths and becomes non-responsive.
  • Increased stability of Live Share in C++ scenarios.
  • Fixed an issue where IntelliCode would stop loading symbols.
  • Improves solution load and close time in scenarios when users have the new experimental Razor editor enabled.
  • Fixed a crash scenario in ServiceHub that could happen after opening the Extensions and Updates dialog and then shutting down Visual Studio.
  • Fixed an error that would give a message that no updates were available when checking for updates on slower machines.
  • Improves performance of launching WAP projects from Visual Studio during incremental changes.
  • Fixed an issue causing setup to fail launching when using the Italian locale.
  • Fixed an upgrade scenario that would cause the installer to stop responding for a very long time while the .NET core tempalte cache is intialized.

From Developer Community

Developer Community has a complete list of all of items shipping in this release.

Here are some of the top voted issues released in 16.9.1:


Release Notes Icon Visual Studio 2019 version 16.9.0

released March 02, 2021

Summary of What's New in this Release of Visual Studio 2019 version 16.9.0

C++

  • Address Sanitizer:
    • Our address sanitizer support on Windows is now out of experimental and has hit general availability.
    • Expanded RtlAllocateHeap support, fixed a compatibility issue with RtlCreateHeap and RtlAllocateHeap interceptors when creating executable memory pools.
    • Added support for the legacy GlobalAlloc and LocalAlloc family of memory functions. You can enable these interceptors with ASAN_OPTIONS=windows_hook_legacy_allocators=true.
    • Updated error messages for shadow memory interleaving and interception failure to make problems and resolutions explicit.
    • The IDE integration can now handle the complete collection of exceptions which ASan can report.
    • The compiler and linker will suggest emitting debug information if they detect you're building with ASan but not emitting debug information
  • You can now target the LLVM version of the OpenMP runtime with the new CL switch /openmp:llvm. This adds support for the lastprivate clause on #pragma omp sections and unsigned index variables in parallel for loops. The /openmp:llvm switch is currently only available for the amd64 target and is still experimental.
  • Visual Studio CMake projects now have first class support for remote Windows development. This includes configuring a CMake project to target Windows ARM64, deploying the project to a remote Windows machine, and debugging the project on a remote Windows machine from Visual Studio.
  • The version of Ninja shipped with Visual Studio on Windows has been updated to version 1.10. Please see the Ninja 1.10 release notes for details on what is included.
  • The version of CMake shipped with Visual Studio has been updated to version 3.19. Please see the CMake 3.19 release notes for details on what is included.
  • Marked many lock/guard types in the STL as nodiscard: https://github.com/microsoft/STL/pull/1495
  • IntelliSense:
  • MSVC now determines the correct address sanitizer runtimes required for your binaries. Your Visual Studio project will automatically get the new changes. When using address sanitizer on the command line, you now only need to pass /fsanitize=address to the compiler.
  • Visual Studio's Connection Manager now supports private keys using the ECDSA public key algorithm.
  • Updated the versions of LLVM and Clang shipped in our installer to v11. Read the release notes for LLVM and Clang for more information.
  • Visual Studio will now use CMake variables from toolchain files to configure IntelliSense. This will provide a better experience for embedded and Android development.
  • Implementation of the More Constexpr Containers proposal, which allows destructors and new expressions to be constexpr. This paves the way for utilities like constexpr std::vector and std::string.
  • Extended support for C++20 modules IntelliSense, including Go To Definition, Go To Module, and member completion.
  • Abbreviated function templates are now supported in the MSVC compiler.

Javascript/TypeScript

  • There is now support for Edge Chromium based WebView2 JavaScript/TypeScript debugging for applications such as WPF, WinForms and WinUI 3 projects. This can be enabled by selecting the JavaScript debugger from the Project Properties dialog box. Details on how to get started to can be found here

Debugger

  • Added a new Auto Analyzer that inspects threads for deadlocks.
Auto Analyzer that inspects threads for deadlocks
  • Added a new Auto Analyzer that inspects the .NET Core Finalizer queue and detects potentially blocking objects.
Auto Analyzer that inspects the .NET Core Finalizer queue
  • Visual Studio now filters out redundant repeating frames from the call stack when the debugger stops on a StackOverflow Exception. It is now possible to see the base of the stack where an infinite recursion originated, which hopefully makes it easier to investigate these kinds of bugs.
Filters out redundant repeating frames from the call stack when the debugger stops on a StackOverflow Exception

Profiler

  • Added new dynamic instrumentation scenario that is faster (doesn't require VSInstr) and allows .NET Core applications to be instrumented without needing PDBs.
Dynamic Instrumentation Profiling

F# and F# tools

This release has several productivity features and performance improvements for the F# tools for Visual Studio:

  • .NET Core FSI support
  • Signature Help for function applications
  • 14 new quick fixes
  • Significant performance and responsiveness fixes for F# Tooling

You can read about them in F# and F# tools update for Visual Studio 16.9 or the product release notes.

.NET Productivity

  • There is now IntelliSense completion for preprocessor symbols.
  • Solution Explorer now displays the new .NET 5.0 Source Generators.
  • Go To All won't display duplicate results across netcoreapp3.1 and netcoreapp2.0.
  • Quick Info now displays compiler warning IDs or numbers for suppressions.
  • Using directives will now automatically get added when copying and pasting types to a new file.
  • When pressing ; to accept a method from a completion list, IntelliSense will now automatically insert the parentheses along with a semicolon for object creation and method calls.
  • Semantic colorization for C# 9.0 records.
  • Refactoring that removes unnecessary discards.
  • Refactoring that converts a verbatim and regular string to an interpolated string preserving curly braces that were intended to go in the output.
  • Code fix in Visual Basic that removes the shared keyword when you convert methods that are shared to a module.
  • A refactoring that suggests using new(…) in non-contentious scenarios
  • A code fix that removes redundant equality expressions for both C# and Visual Basic
  • The .NET Code Style (IDE) analyzers can now be enforced on build
  • The Syntax Visualizer shows the current foreground color for enhanced colors
  • A new tooltip when hovering over the diagnostic ID for pragma warnings
  • When you type the return key from within a comment the new line is now automatically commented out
  • Inline parameter name hints enhancements
  • .NET Core Debugging with WSL 2

Test Explorer audio cues and accessibility updates

  • You can now configure audio cues with the Test Explorer, the Group By menu is more accessible for screen readers, and viewing long test output is easier with clickable links opening log files directly.

Experimental Razor Editor Updates

  • HTML and C# semantic colorization
  • Renames of C# symbols reflected in closed Razor files
  • More C# light bulbs in Razor files
  • Further improvements to mixed content formatting in Razor files

.NET Web Tools

Web Tools

  • Enhanced .NET support for Azure App Configuration as a Connected Service
  • Manage your application's configuration settings and feature flags by integrating Azure App Configuration as a Connected Service

XAML Tools (WPF, WinUI, UWP & Xamarin.Forms)

MVVM Tooling

  • Improved MVVM Support: In this release, we have introduced Lightbulbs in the XAML Editor to generate properties and commands in available view-models. We have also added Lightbulbs to help set the design DataContext in XAML to available view-models to improve binding IntelliSense.

Xamarin.Forms

In this release we’ve made multiple improvements for Xamarin.Forms developers:

  • XAML Hot Reload “changes only” mode is now the default for Xamarin.Forms 5.x projects: Starting with Visual Studio 16.9 XAML Hot Reload “changes only” mode is now the default XAML Hot Reload experience for projects targeting Xamarin.Forms 5.x or higher. Projects targeting 4.x will automatically fallback to “full page” XAML Hot Reload as “changes only” is only compatible with Xamarin.Forms 5.x or newer. If you are using Xamarin.Forms 5.x and wish to use the old “full page” Hot Reload mode for some reason, you can do so by going to Hot Reload settings under Tools > Options > Debugging > Hot Reload.

  • XAML Hot Reload status updates in output window: Xamarin.Forms customers using XAML Hot Reload can now see more details on what is happening with the XAML Hot Reload pipeline using the output window. To get started, open the output window with View > Output and select Xamarin Hot Reload under Show output from at the top of the window.

XAML Hot Reload - Output window information
  • Xamarin.Forms + UWP – resolved System.ExecutionEngineException: Starting with the release of Visual Studio 2019 version 16.8 we inadvertently introduced a runtime exception that would trigger System.ExecutionEngineException errors when developers would be debugging Xamarin.Forms app that target Windows (UWP). Starting with this release (16.9 Preview 4) and in combination with an update to Microsoft.NETCore.UniversalWindowsPlatform NuGet (version 6.2.12+) this issue should now be resolved. Note: This fix is not only for Visual Studio 2019 version 16.9. Updating your projects to use the new NuGet package should resolve this issue for Visual Studio version 16.9 as well.

Tools for Unity

  • View root game objects while debugging in the new Active Scene node of the Locals window.
  • View all the components on a GameObject while debugging in the new this.gameObject node of the Locals window.
  • View all children game objects and components using the Children and Components nodes of the Locals window.
  • See the location of a GameObject in the scene when inspecting in the Active Scene property.
  • Support for JobEntityBatch/Lambdas when using Entities with source generators.
  • Improved support for displaying large arrays using index bucketing.
  • Syntax highlighting for raytrace shaders, UXML and USS files.
  • Visual Studio will now detect which components are missing and prompt you to install them when using Unity projects.
  • Unity messages API for all methods used as coroutines updated.

Git Productivity

  • We've refreshed the Preview Feature flag for the new Git UX with a built-in Give Feedback link that directs you straight to the product team.
  • Team Explorer Home and Connect pages show detailed content to transition to the new Git UX.
  • Support for custom remotes in branch push notifications.
  • Double click a branch in the Git Repository window to checkout.
  • Commit changes with the keyboard shortcut Ctrl+Enter.
  • Push all tags from the Git Changes window.

Visual Studio Installer

  • The Visual Studio Installer no longer elevates on launch
  • The Visual Studio Installer now supports HDR displays
  • The Visual Studio Installer supports the Navigator screen reader
  • Installer updates have been streamlined into the Visual Studio update
  • The Visual Studio Installer adds dark theme support

Details of What's New in Visual Studio 2019 version 16.9.0

Git Productivity

  • Commit changes with the keyboard shortcut Ctrl+Enter
Ctrl+Enter to Commit
Commit changes with Ctrl+Enter
  • Push all tags from the Git Changes window.
Push all Tags
Push all tags to your remote

.NET Productivity

  • .NET Core Debugging with WSL 2 lets you run and debug your .NET Core console and web applications in WSL 2 from Visual Studio. This allows Windows developers targeting Linux production environments to have a higher fidelity local debugging experience.
.NET Core Debugging with WSL 2
.NET Core Debugging with WSL 2
  • There is now a refactoring that suggests using new(…) in non-contentious scenarios. Place your cursor on the field declaration. Press (Ctrl+.) to trigger the Quick Actions and Refactorings menu. Select Use ‘new(…)’.
Use new(...) refactoring
Use new(...) refactoring
  • There is now a code fix that removes redundant equality expressions for both C# and Visual Basic. Place your cursor on the redundant equality expression. Press (Ctrl+.) to trigger the Quick Actions and Refactorings menu. Select Remove redundant equality.
Remove redundant equality expressions code fix
Remove redundant equality expressions code fix
  • The .NET Code Style (IDE) analyzers can now be enforced on build. You can either install the .NET Code Style analyzers as a NuGet package for C# and Visual Basic or you can enable them in Project Properties. To access the Project Properties right-click on a project within Solution Explorer and select Properties. Next, select the Code Analysis tab where you can select Enforce CodeStyle on build (experimental).
Project Properties window to enable .NET Code Style Analyzers
Project Properties window to enable .NET Code Style Analyzers
  • The Syntax Visualizer (installed with the .NET Compiler Platform SDK) now shows the current foreground color for enhanced colors. Simply use the visualizer to navigate to the text you want to change colors for, or select in the editor, and then click on the classified color to change it.
Syntax Visualizer Colorization
Syntax Visualizer Colorization
  • There is now a tooltip when hovering over the diagnostic ID for pragma warnings. The diagnostic tooltip also has a clickable link that navigates to the documentation.
Diagnostic Tooltip for Pragma Warnings
Diagnostic Tooltip for Pragma Warnings
  • When you type the return key from within a comment you may notice that the new line is now automatically commented out. This is a new option that is on by default. To prevent the new line from automatically being commented out, go to Tools > Options > Text Editor > C# or Basic > Advanced and uncheck Insert // at the start of new lines when writing // comments.

In 16.8 Preview 2 we added inline parameter name hints that inserts adornments for literals, casted literals, and object instantiations prior to each argument in function calls. In this release we added the following enhancements:

  • More customization options for the types of adornments you would like inserted.

  • Inline type hints for variables with inferred types and lambda parameter types.

  • An option to disable inline parameter name hints when parameter names match the method’s intent and when parameter names differ only by suffix.

  • Using directives will now automatically get added when copying and pasting types to a new file. You will first need to turn this option on in Tools > Options > Text Editor > C# or Basic > Advanced and select Add missing using directives on paste.

Add missing using directives on paste
Add missing using directives on paste
  • When pressing ; to accept a method from a completion list, IntelliSense will now automatically insert the parentheses along with a semicolon for object creation and method calls.
Method call completion
Method call completion
  • There is now semantic colorization for C# 9.0 records. You can customize colors in Tools > Options > Environment > Fonts and Colors. In Display items scroll to User Types – Records and select the color that you would like to apply to records.
Semantic colorization for records
Semantic colorization for records
  • In C# 9.0 discards are unnecessary in certain pattern matching cases. We now fade unnecessary discards and offer a code fix to remove them. Place your cursor on the faded discard. Press (Ctrl+.) to trigger the Quick Actions and Refactorings menu. Select Remove unnecessary discard.
Remove unnecessary discard
Remove unnecessary discard
  • There is now a refactoring that converts a verbatim string and a regular string to an interpolated string that will preserve curly braces that were intended to go in the output. This refactoring is not offered if the string is assigned to a constant. Place your cursor on the string. Press (Ctrl+.) to trigger the Quick Actions and Refactorings menu. Select Convert to interpolated string.
Convert to an interpolated string that will preserve curly braces
Convert to an interpolated string that will preserve curly braces
  • There is now a code fix in Visual Basic that removes the shared keyword when you convert methods that are shared to a module.

  • There is now IntelliSense completion for preprocessor symbols. Start typing the #if directive to see the new completion options for symbols that are currently defined in scope.

IntelliSense completion for preprocessor symbols
IntelliSense completion for preprocessor symbols
  • Solution Explorer now displays the new .NET 5.0 Source Generators underneath the Analyzer node so you can easily navigate and view the generated code.
Source Generators node in Solution Explorer
Source Generators node in Solution Explorer
  • The Go To All window will not display duplicate results across netcoreapp3.1 and netcoreapp2.0 as well as results for partial types that exist only to wrap another nested type. This will help declutter the results so you can easily find and navigate to code. The results also now include the filename for partial symbols.
Go To All will not display duplicate results across netcoreapp3.1 and netcoreapp2.0
Go To All will not display duplicate results across netcoreapp3.1 and netcoreapp2.0
  • Quick Info now displays compiler warning IDs or numbers for suppressions. Hover your cursor over the warning IDs or numbers to view Quick Info for the diagnostic ID.
Quick Info on compiler warning IDs or numbers for suppressions
Quick Info on compiler warning IDs or numbers for suppressions

Thank You

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

.NET Web Tools

  • Deploy your Steeltoe applications to Azure Spring Cloud using Visual Studio Publish (e.g. right-click > Publish in Solution Explorer). If you are not seeing the option, make sure your project includes the NuGet package Microsoft.Azure.SpringCloud.Client version 1.0.0-preview.1 or later.
Deploy your Steeltoe applications to Azure Spring Cloud
Deploy your Steeltoe applications to Azure Spring Cloud

Web Tools

Adding App Configuration as a connected service automatically connects your application to your Azure App Configuration Resource. There is now support for generating code automatically for .NET Core Console projects, as well as adding NuGet packages automatically for .NET Framework projects. To integrate this Connected Service into your app, click on Connected Services and add Azure App Configuration as a Service Dependency.

Add App Config to Connected Services
Adding App Configuration as a Connected Service
  • The Connected Services tab now supports Azure App Configuration. App Configuration lets you centrally manage application settings and feature flags. When you add this service dependency, your code is automatically updated to connect to your App Configuration resource. This includes installing the most up to date NuGet Packages and storing your secrets locally or in Key Vault.
Manage your configurations with Azure App Configuration
Manage your configurations with the Azure App Configuration Service Connection

Visual Studio Installer

The Visual Studio installer has incorporated several new features in response to customer requests.

Many users now use the installer to identify, launch, and manage multiple copies of Visual Studio. To aid this use pattern, the Visual Studio installer no longer requires elevation on launch and only requires elevation to make changes to Visual Studio and the machine. Other activities, like exporting install configurations, navigating news, and viewing update details no longer require the user to elevate first.

Earlier versions of the installer would occasionally ask users to take an additional step to update the installer. With this update, required installer updates are now handled as part of the installation operation, removing the extra step.

The installer now adds a dark mode theme selection. Users can changing the theme of the installer via the sun / moon (☼ / ☽) button in the title bar. Updates started from within the Visual Studio IDE will use the current theme selection of Visual Studio.

VS Installer with dark theme and inline installer update
VS Installer with dark theme and inline installer update

Test Explorer audio cues and accessibility updates

  • The Test Explorer can now play a sound when a test run completes. You can select two sounds, one for indicating the test run succeeded with all passing tests and a second sound to indicate the test run completed with at least one failing test. This feature started as a user request and improves the accessibility of the Test Explorer by adding an audio cue which is useful for developers who have a visual impairment. The sound selection uses the default Windows 10 sound dialog where you can also select from the preset sounds or any audio file from your computer!
  • The Group By in the Test Explorer is now more accessible using more concise phrases and word order when read by a screen reader.
  • Viewing long test output from the test details pane in the Test Explorer is now easier with a link to open the log file directly instead of the special document control.

Test Experience

  • Added support for collecting code coverage for .NET Core test projects that use Fakes.
  • Reduced time needed to merge multiple code coverage reports.

IntelliCode

  • IntelliCode now provides repeated edit suggestions directly within the IntelliSense completions list. You can view the Preview of the suggested change, apply at that location or ignore suggestions like these directly from the completion item. Learn more about IntelliCode suggestions.

Experimental Razor Editor Updates

  • HTML and C# semantic colorization
  • Renames of C# symbols reflected in closed Razor files
  • More C# light bulbs in Razor files:
    • Add DebuggerDisplay attribute
    • Create and assign property
    • Create and assign field
    • Implement interface or abstract class, including support for "with pattern", i.e. "Implement interface with Dispose pattern"
    • Generate Equals, Hashcode, Constructor
  • Add null check & Add all null checks for parameters
  • Further improvements to mixed content formatting in Razor files

To enable the experimental Razor editor, go to Tools > Options > Environment > Preview Features, select Enable experimental Razor editor, and then restart Visual Studio.

From Developer Community

Developer Community has a complete list of all of items shipping in this release.

Here are some of the top voted issues released in 16.9.0:


Known Issues

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

Feedback and suggestions

We would love to hear from you! For issues, let us know through the Report a Problem option in the upper right-hand corner of either the installer or the Visual Studio IDE itself. The Feedback Icon icon is located in the upper right-hand corner. You can make a product suggestion or track your issues in the Visual Studio Developer Community, where you can ask questions, find answers, and propose new features. You can also get free installation help through our Live Chat support.


Blogs

Take advantage of the insights and recommendations available in the Developer Tools Blogs site to keep you up-to-date on all new releases and include deep dive posts on a broad range of features.


Visual Studio 2019 Release Notes History

For more information relating to past versions of Visual Studio 2019, see the Visual Studio 2019 Release Notes History page.


Top of Page