Software-update: Microsoft Visual Studio 2019 16.8.0

Microsoft Visual Studio logo (80 pix) Microsoft heeft versie 16.8 van Visual Studio 2019 uitgebracht, de versie die minimaal nodig is om met .NET 5.0 te werken. Deze populaire programmeerontwikkelomgeving beschikt over handige opties om het programmeren in onder andere Visual C++, Visual Basic, C#, F#, Python en R gemakkelijker te maken. De complete lijst met de veranderingen in de 2019-uitgave kun je nalezen in de bijbehorende releasenotes. Hieronder zijn de belangrijkste verbeteringen te vinden die Microsoft heeft doorgevoerd in versie 16.8:


  • F# 5 is now released alongside .NET 5
  • Performance improvements and fixes for Visual Studio tooling via F# Tools version 11.0.0
  • Full release notes available on GitHub
  • C++20 Coroutines are now supported under /std:c++latest and the <coroutine> header.
  • IntelliSense now provides support for C++20 <concepts> and <ranges> headers, and rename and browsing for concept definitions.
  • Our STL now has support for the majority of C++20 Ranges.
  • Conditionally trivial special member functions are now supported in MSVC.
  • C11 and C17 are now supported under the /std:c11 and /std:c17 switches.
  • Additional STL improvements include full support for std::atomic_ref, std::midpoint and std::lerp and std::execution::unseq, optimizations for std::reverse_copy, and more.
  • Upgraded version of CMake shipped with Visual Studio to CMake 3.18.
  • Our code analysis tools now support the SARIF 2.1 standard: the industry standard static analysis log format.
  • Missing build tools in Linux projects will now issue a warning in the toolbar and a clear description of the missing tools in the error list.
  • You can now debug Linux core dumps on a remote Linux system or WSL directly from Visual Studio.
  • For C++ Doxygen comment generation, we added additional comment style options (/*! and //!).
  • Additional vcpkg announcements
  • Compiler support for lambdas in unevaluated contexts
  • /debug:full link performance improved by multi-threading pdb creation. Several large applications and AAA games see between 2 to 4 times faster linking.
  • The Visual Studio debugger now has support for char8_t.
  • Support for ARM64 projects using clang-cl.
  • Intel AMX intrinsics support.
  • .NET Core Linux core dump debugging support
  • .NET and .NET Core Auto Analysis
  • .NET and .NET Core memory hot path auto analysis
Experimental Razor Editor Updates:
  • Blazor light bulbs
  • C# light bulbs
  • Enhanced Razor formatting
  • Rename Razor components in markup from .razor files
  • Go-to-definition on Blazor component tag namespace
  • C# hover colorization
  • C# completion toolitip colorization
  • Go-to-definition/implementation for Razor, including closed files
  • Find All References in closed Razor files
  • Improved Razor editing preformance and stability for large projects and solutions
Fakes with SDK Style Projects:
  • When using the new Fakes support for SDK style projects some users encountered the following error when generating shims
Git Productivity:
  • Learn more about how to use all the Git features in our new online documentation
  • Open the Git Repository window at any time through the Git Changes window, the View menu, and the Status bar
  • Fetch, Pull, and Push from multiple remotes in the Git Changes window
  • View success and error messages for Git commands at the top of the Git Repository window
  • Create a new branch from an Azure DevOps work item
  • Open a Git repository from a list of your local repositories in the Git menu
  • The default source control provider is now Git instead of TFVC
  • Single click to switch between branch histories in the Git Repository window
  • View and select from a list of solutions in Solution Explorer after opening a repository
  • Modify the history view and search for commits through a tool bar in the Git Repository window
  • Fetch, pull, and push from the incoming and outgoing commits sections in the history graph of a branch
  • Get prompted to create a pull request after pushing a branch to your remote
  • View branch names in the merge and rebase commands in the branch list context menu
  • Access Git commands through the context menu in Solution Explorer and the Editor
  • Observe clone progress through a new modal dialog with the option to move the process to the background
  • Get personalized IntelliCode completions in Visual Studio documentation
  • Keep your IntelliCode completions up-to-date with your codebase and share as part of your team's CI workflow documentation
.NET Productivity:
  • Roslyn analyzers are now included in the .NET 5.0 SDK
  • Refactoring that introduces the new C# 9 not pattern matching syntax when a suppression operator is present
  • Inline method refactoring to help replace usages of static, instance, and extension method within a single statement body
  • Code fix to convert instances of typeof to nameof in C# and GetType to NameOf in Visual Basic
  • C# and Visual Basic support for inline parameter name hints that inserts adornments for literals, casted literals, and object instantiations prior to each argument in function calls
  • Refactoring that extracts members from a selected class to a new base class in both C# and Visual Basic
  • Code cleanup has new configuration options that can apply formatting and file header preferences set in your EditorConfig file across a single file or an entire solution
  • Code fix to remove the in keyword where the argument should not be passed by reference
  • Refactoring that introduces the new C#9 pattern combinators and pattern matching suggestions such as converting == to use is where applicable
  • Code fix to make a class abstract when you are trying to write an abstract method in a class that is not abstract
  • IntelliSense completion in DateTime and TimeSpan string literals automatically appear when the first quote is typed
  • Code fix to remove unnecessary pragma suppressions and unnecessary SuppressMessageAttributes
  • Rename and Find All References understands references to symbols within the target string of global SuppressMessageAttributes
  • ByVal fades to say it's not necessary along with a code fix to remove the unnecessary ByVal in Visual Basic
  • Interactive window support for multiple runtimes, such as .NET Framework and .NET Core.
  • Added a new RegisterAdditionalFileAction API that allows analyzer authors to create an analyzer for additional files.
Visual Studio 2019 IDE:
  • Add your Github account using the account management experience
  • In this release, the legacy Find in Files experience has been deprecated and all users are being moved to the new experience. The Editor team is working with folks who leave feedback in Developer Community who are experiencing issues with the modern Find in Files experience.
  • The ClickOnce publish provider is now available for .NET Core 3.1 and .NET 5.0 Windows Desktop Apps.
XAML Tools (WPF, UWP, & Xamarin.Forms):
  • XAML Binding Failures diagnostic improvements
  • XAML Hot Reload Settings moved to "Debugging > Hot Reload"
  • Toolbox population from unreferenced NuGet packages
  • The JavaScript/TypeScript debugger now supports debugging service workers, web workers, iFrames, and your page JavaScript all at the same time! In addition, the new debugging experience adds support for debugging your back-end node server applications and client-side JavaScript in the browser simultaneously. This feature is still experimental. You can enable the new debugging experience in the Debugging options menu
  • You can now trigger refactors anywhere they might be available by using the code action shortcut (ctrl + .). You don't even need to select any text - TypeScript is now smart enough to look around your cursor location for the best available refactors!
  • You can now fine tune which packages TypeScript searches for automatic import completion. This can lead to performance improvements in some projects with a lot of dependencies. For more details, please reference the TypeScript 4.0 (release notes)[]
  • We added a message in the output pane showing which types we install to support intellisense. We recommend adding a tsconfig to your project to customize which types are used.
  • Please note we include the TypeScript 4.0 compiler and language service

Versienummer 16.8.0
Releasestatus Final
Besturingssystemen Windows 7, Windows Server 2008, Windows Server 2012, Windows 8, Windows 10, Windows Server 2016, Windows Server 2019
Website Microsoft
Licentietype Betaald

Reacties (11)

Wijzig sortering
In mijn ervaring hebben de minor releases die ze op events vrijgeven altijd wel patches nodig, ik wacht deze keer even.
Hij is echter al sinds begin augustus in preview geweest, en heeft in preview ook al 3 patches gehad.

[Reactie gewijzigd door .oisyn op 11 november 2020 22:24]

Laatste prerelease 6.0 werkte goed!

Maar dat is geen garantie dat de final release beter is 🙃

Soms krijgen ze het toch voor elkaar wat nieuwe bugjes in de final release te stoppen 😄 maar gelukkig kun je dan de prerelease er gewoon naast draaien

[Reactie gewijzigd door jkommeren op 12 november 2020 08:16]

Dat doen ze altijd, maar dat doet niets af aan mijn ervaring. Zie ook reactie van @Earry
Deze draaien wij al een aantal werken stabiel zonder problemen. Wel alleen c++,c#,wpf en core projecten .

Zijn nog kort naar .net 5.0 overgestapt dus daar kan ik qua productie stabiliteit niks over zeggen.
2.4GB bij mij. Maar ja .NET 5 ;)
En de extra C++20 features zijn ook welkom!
Bij mij zei de installer 2.82GB, maar ging binnen de minuut naar 100%. En mijn internet is maar 10Mbit. Dus de getoonde grootte lijkt niet helemaal te kloppen...
Waarschijnlijk is dat installatie grootte en niet download grootte
Volgens mij download hij op de achtergrond al. Toen ik het venster voor het eerst weer opende was de download 100% en moest hij alleen nog installeren.
Al best wel wat bugs gehad. Developer community staat er ook vol mee. Ik revert even naar de 16.7 branch totdat de eerste patch uit is :)
C11 en C17 is wel een redelijke stap vanaf C89 wat ze tot nu toe hadden.

Correct linkje:

Op dit item kan niet meer gereageerd worden.

Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.


Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details


    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details