Visual Studio 2019, Version 16.8: Versionshinweise
Entwicklercommunity | Systemvoraussetzungen | Kompatibilität | Verteilbarer Code | Freigabeverlauf | Lizenzbedingungen | Blogs | Neuerungen in der Visual Studio-Dokumentation
Hinweis
Dies ist nicht die neueste Version von Visual Studio. Das neueste Release können Sie über die Visual Studio-Site herunterladen.
Neues in Visual Studio 2019, Version 16.8
Supportzeitrahmen
Für diese Version wird jetzt kein Support mehr geleistet. Weitere Informationen zur Visual Studio-Unterstützung finden Sie in der Supportrichtlinie für Visual Studio 2019.
Lesen Sie die neueste Version der Versionshinweise, oder besuchen Sie die Visual Studio-Website, um die neueste Version von Visual Studio 2019 herunterzuladen.
Releases von Visual Studio 2019, Version 16.8
- 09. März 2021: Visual Studio 2019 Version 16.8.7
- 22. Februar 2021: Visual Studio 2019 Version 16.8.6
- 09. Februar 2021: Visual Studio 2019 Version 16.8.5
- 12. Januar 2021: Visual Studio 2019, Version 16.8.4
- 08. Dezember 2020: Visual Studio 2019, Version 16.8.3
- 19. November 2020: Visual Studio 2019, Version 16.8.2
- 12. November 2020: Visual Studio 2019, Version 16.8.1
- 10. November 2020: Visual Studio 2019, Version 16.8.0
Archivierte Versionsanmerkungen von Visual Studio 2019
- Visual Studio 2019, Version 16.7: Versionshinweise
- Visual Studio 2019 Version 16.6 – Versionshinweise
- Visual Studio 2019 Version 16.5 – Versionshinweise
- Visual Studio 2019 Version 16.4 – Versionshinweise
- Visual Studio 2019 Version 16.3 – Versionshinweise
- Visual Studio 2019 Version 16.2 – Versionshinweise
- Visual Studio 2019 Version 16.1 – Anmerkungen zu dieser Version
- Visual Studio 2019 Version 16.01 – Versionshinweise
Visual Studio 2019-Blog
Im Visual Studio 2019-Blog finden Sie alle wichtigen Informationen zu Produkten direkt vom Visual Studio-Engineeringteam. In den folgenden Beiträgen finden Sie ausführliche Informationen zu den Visual Studio 2019-Releases:
- Visual Studio 2019, Version 16.9 Preview 3 ab heute verfügbar
- Visual Studio 2019 v16.9 Preview 2 und Wünsche für das neue Jahr
- Vorschau für Visual Studio 2019 v16.8 und v16.9 ab heute verfügbar
- Neue Funktionen in Visual Studio2019 v16.8 Vorschau 3.1
- Visual Studio 2019 v16.8 Preview 2 stellt schon heute neue Features vor!
- Visual Studio 2019, Version 16.7 und 16.8: Preview 1 wird heute veröffentlicht
- Visual Studio 2019, Version 16.7: Preview 2 ab heute verfügbar
- Updates für Git in Visual Studio
- Ab heute verfügbar! Visual Studio 2019 v16.6 und v16.7, Vorschauversion 1
- Visual Studio 2019, Version 16.6 Vorschauversion 2 mit neuen Features
- Visual Studio 2019 Version 16.5 ist jetzt verfügbar!
- Es weihnachtet sehr bei Visual Studio 2019 Version 16.4
- Visual Studio 2019 16.4 Preview 2, Herbstfarben und Pumpkin Spice Latte
- .NET Core-Unterstützung und mehr in Visual Studio 2019 Version 16.3 – jetzt aktualisieren!
- Visual Studio 2019, Version 16.3, Preview 2 und Visual Studio 2019 für Mac, Version 8.3, Preview 2 wurden veröffentlicht!
- Visual Studio 2019 Version 16.2 und 16.3, Preview 1 sind jetzt verfügbar
- Visual Studio 2019, Version 16.2, Preview 2
- Visual Studio 2019, Version 16.1 und Preview 16.2
- Visual Studio 2019: schneller programmieren. Intelligenter arbeiten. Die Zukunft gestalten.
Hier finden Sie eine vollständige Liste aller Elemente der Entwicklercommunity in Visual Studio 2019 Version 16.8
Visual Studio 2019, Version 16.8.7
Veröffentlichung: 09. März 2021
In diesem Release von Visual Studio 2019, Version 16.8.7, behobene Fehler
Sicherheitshinweis
CVE-2021-21300: Sicherheitsrisiko durch Remotecodeausführung in Git für Visual Studio
Wenn Visual Studio ein schädliches Repository klont, besteht eine Sicherheitsrisiko durch Remotecodeausführung.
CVE-2021-26701: Sicherheitsrisiko durch Remotecodeausführung in .NET Core
Eine Sicherheitsanfälligkeit bei Remotecodeausführung ist in .NET 5 und .NET Core aufgrund der Art der Textcodierung vorhanden.
Visual Studio 2019, Version 16.8.6
Veröffentlichung: 22. Februar 2021
In diesem Release von Visual Studio 2019, Version 16.8.6, behobene Fehler
- Es wurde ein Fehler mit hoher Priorität behoben, der das Pushen von Code an Azure Functions oder andere Azure-Ressourcen aus Visual Studio 2019 für Entwickler blockiert hat.
- VS 16.8.5 Erstellen eines Git-Repositorys: Erstellen eines neuen GitHub-Repositorys: PUBLIC (nicht aktivierte Option „Private“): FEHLER
Visual Studio 2019, Version 16.8.5
Veröffentlichung: 9. Februar 2021
Sicherheitshinweis
CVE-2021-1639: Sicherheitsrisiko durch Remotecodeausführung für den TypeScript-Sprachdienst
Ein Sicherheitsrisiko bei der Remotecodeausführung ist vorhanden, wenn Visual Studio ein schädliches Repository lädt, das JavaScript- oder TypeScript-Codedateien enthält.
CVE-2021-1721: Sicherheitsrisiko durch Denial-of-Service-Angriffe in .NET Core
Ein Denial-of-Service-Sicherheitsrisiko ist beim Erstellen einer HTTPS-Webanforderung während der Erstellung der X509-Zertifikatkette vorhanden.
CVE-2021-24112: Sicherheitsrisiko durch Remotecodeausführung in .NET 5 und .NET Core
Ein Sicherheitsrisiko bei der Remotecodeausführung ist vorhanden, wenn Metadatendateien verworfen werden, obwohl die Grafikschnittstelle noch darauf verweist. Dieses Sicherheitsrisiko besteht nur bei Systemen mit MacOS oder Linux.
In diesem Release von Visual Studio 2019, Version 16.8.5, behobene Fehler
- Es wurde ein Problem behoben, bei dem x86 Microsoft.VCLibs, das unter „ExtensionSDKs“ installiert wurde, mit der richtigen Signatur aktualisiert wurde
- Korrigiert: Arbeitsspeicherverlust bei der Verwendung von DesignTime-Features in C++
- Es wurde ein Problem behoben, bei dem eine Ausnahme auftritt, wenn beim Importieren einer vorhandenen Datenbank in ein SSDT-Projekt ein Kennwort nicht gespeichert wird.
- Es wurde ein Problem behoben, bei dem die Schaltfläche „Veröffentlichen“ deaktiviert ist, wenn Kunden zum ersten Mal .NET Core-Projekte in einem Ordner oder anderen Hostingzielen veröffentlichen.
- Korrigiert: Teilweise auftretendes Hängenbleiben, wenn Entwickler die Ansichtsseite für das Veröffentlichungsprofil öffnen
- Unterstützung für Xcode 12.4 hinzugefügt
Elemente aus der Entwicklercommunity
- Behoben: SQLPROJ wird nicht mit Änderungen aktualisiert
- Visual Studio 2019 stürzt mit OOM-Fehlern in den Chrom-Lösungen ab.
- Fehler beim Optimierungscompiler von Visual Studio 2019 Version 16.7.6
- Visual Studio stürzt ab, wenn „Neues Element > Tabelle“ zum Datenbankprojekt hinzugefügt wird.
- VSDIIUnregisterServer verlangsamt Visual Studio 2019.
- Unerwarteter Visual Studio 2019-Absturz beim Andocken oder Aufteilen von Fenstern
Visual Studio 2019, Version 16.8.4
Veröffentlichung: 12. Januar 2021
Sicherheitshinweis
CVE-2021-1651 / CVE-2021-1680 Sicherheitsrisiko durch Rechteerweiterungen beim Standardcollectordienst für den Diagnosehub
Wenn der Diagnostics Hub Standard Collector bestimmte Datenvorgänge nicht ordnungsgemäß verarbeitet, besteht ein Sicherheitsrisiko durch Rechteerweiterungen.
CVE-2020-26870 Sicherheitsrisiko durch Remotecodeausführung im Visual Studio-Installer
Es besteht ein Sicherheitsrisiko bei der Remotecodeausführung, wenn der Visual Studio-Installer versucht, schädlichen Markdowncode anzuzeigen.
CVE-2021-1723 Sicherheitsrisiko für ASP.NET Core und Visual Studio durch Denial-of-Service-Angriffe
In der Art, in der Kestrel HTTP/2-Anforderungen analysiert, besteht ein Sicherheitsrisiko, das durch Denial-of-Service-Angriffe ausgelöst wird.
In diesem Release von Visual Studio 2019, Version 16.8.4, behobene Fehler
- Es wurde ein Problem behoben, bei dem C#-spezifische IntelliCode-Komponenten möglicherweise nicht installiert werden, wenn IntelliCode bereits in früheren Versionen von Visual Studio über den Visual Studio Marketplace installiert wurde.
- Transitive Projektverweise werden nun berücksichtigt, wenn PackageReference-Projekte auf PACKAGES.CONFIG-Projekte mit PackageReference-Abhängigkeiten verweisen.
- Dadurch wird Unterstützung für Xcode 12.3 hinzugefügt.
- Fehlerbehebung für die Unterstützung des Simulators x86_64 watchOS 7.0 und höher
- Behoben: Von einer Funktion zurückgegebene False Positive-Ergebnisse (C33001 ~ C33005) bei der Verwendung von VARIANT-Klassen
- Behebung von zeitweiligen VS-Abstürzen im WinForms-Client des .NET Core-Designers beim Schließen eines Projekts oder einer Lösung
- Behobenes Datenbankprojekt: Wenn Sie eine Datei aus dem Projektmappen-Explorer in eine geöffnete Datei ziehen, wird die Datei aus dem Dateisystem gelöscht!
- Behoben: Durch einen Klick auf „Aktualisieren“ für den SQL-Schemavergleich werden keine Änderungen an der SQLPROJ-Datei gespeichert.
- Behoben: Fehler, bei dem Builds mit den Fehlern „Die Tabelle (...) wurde nicht gefunden.“ und „Die Spalte wurde nicht gefunden.“ fehlschlagen
- Behoben: Kontrollkästchen „commit after merge“ (Commit nach dem Zusammenführen) in „Team Explorer-> Branches“.
- Behoben: Fehler bei dem Visual Studio für einige Sekunden bei der Überprüfung von Updates nicht mehr reagiert
- Das Tool „DeploymentAppRecipe.exe“ unterstützt nun die Ausführung aus jedem aktuellen Verzeichnis. Außerdem gibt es einen Rückgabewert ungleich 0 (null) zurück, wenn bei der Bereitstellung ein Fehler auftritt und Fehlermeldungen in den Standardfehlerstream ausgegeben werden.
Aus der Entwicklercommunity
- Nach dem 16.8-Update werden trotz bestimmter als Warnungen festgelegter Regeln viele Codeanalysefehler ausgegeben
- .NET Core 3.1- oder .NET 5.0-Anwendungen, die von ClickOnce installiert wurden, können nach der Installation möglicherweise nicht gestartet werden.
- False Positive C33005 mit _variant_t
- Fehler bei Git-Merge- und Commitvorgang
- Informationen zu Tasks oder parallelen Stapeln können mit dem net5.0-windows*-TFM nicht angezeigt werden
- Durch einen Klick auf „Aktualisieren“ für den SQL-Schemavergleich werden keine Änderungen an der SQLPROJ-Datei gespeichert.
- Datenbankprojekt: Wenn Sie eine Datei aus dem Projektmappen-Explorer in eine geöffnete Datei ziehen, wird die Datei aus dem Dateisystem gelöscht!
- Fehler beim Trainieren des IntelliCode-Modells in Visual Studio 2019
- Öffnen von LiveShare-Zusammenarbeitssitzungen schlägt fehl
Visual Studio 2019, Version 16.8.3
Veröffentlichung: 08. Dezember 2020
Sicherheitshinweis
CVE-2020-17156 Sicherheitsrisiko durch Remotecodeausführung in Visual Studio
Wenn Visual Studio ein schädliches Repository klont, besteht eine Sicherheitsrisiko durch Remotecodeausführung.
In diesem Release von Visual Studio 2019, Version 16.8.3, behobene Fehler
- Es wurde ein interner Compilerfehler behoben, der entsteht, wenn eine geschachtelte Funktionsvorlage außerhalb der übergeordneten Klasse definiert ist.
- Fehler C2355 wurde behoben, der entsteht, wenn „this“ im Initialisierer eines nicht statischen Datenmembers verwendet wird.
- Ein Fehler beim Laden von Regelsätzen wurde behoben für benutzerdefinierte Regelsätze, bei denen die Option „/analyze:ruleset“ mit der Option „/analyze:rulesetdirectory“ und/oder „/analyze:projectdirectory“ verwendet wird.
- Es wurde ein Fix für einen zeitweiligen Absturz in Visual Studio bei der Verwendung des .NET Core-Designers für WinForms eingeführt.
- Einfügen von .NET 5.0.1 in Visual Studio v 16.8.3
- Es wurde ein Problem behoben, bei dem einige im Kontext der Benutzeroberfläche aktivierte Toolfenster einen Absturz von Visual Studio verursachen.
- Korrektur für Pushvorgänge von der Seite zum Verwalten von Branches, wenn kein Git-Remotebranch für die Nachverfolgung vorhanden ist.
- Unterstützung für Xcode 12.2 wurde hinzugefügt.
Aus der Entwicklercommunity
- Ein Ereignisname muss aus mindestens drei durch Schrägstrich getrennten Teilen bestehen
- Anpassungen der Symbolleiste werden nicht beibehalten
Visual Studio 2019, Version 16.8.2
Veröffentlichung: 19. November 2020
In diesem Release von Visual Studio 2019, Version 16.8.2, behobene Fehler
- Der Optimierungsfehler in Schleifen wurde behoben.
- Der interne Compilerfehler bei der Implementierung der garantierten Auslassung von „copy“ (C++17-Feature) wurde behoben.
- Die Buildleistungsregression bei der Verwendung vieler anonymer Typen wurde behoben.
- Es wurde ein Problem behoben, bei dem beim Bearbeiten von C#-Code eine goldene Leiste mit der Meldung „Specified argument was out of the range of valid values“ (Das angegebene Argument liegt außerhalb des gültigen Wertebereichs) angezeigt wurde.
- Es wurde ein Problem behoben, das beim Erstellen eines Projekts mit T4-Vorlagen zu einer MissingMethodException führen konnte.
- Es wurde ein Problem behoben, bei dem bei der Suche im Dialogfeld „Neues Projekt“ null (0) Ergebnisse zurückgegeben werden konnten.
Aus der Entwicklercommunity
- KeyNotFoundException von SolutionAssetStorage.GetAssetAsync-Ergebnissen in goldener Leiste gemeldet
- Fehler bei IntelliSense, da der „designtime“-Build das Ziel „GetClCommandLineForReference“ nicht finden kann
- IOException (Pipe ist beschädigt) von GetAssetAsync gemeldet
- Suche funktioniert nicht
- Optimierer hat fälschlicherweise EH-Informationen entfernt, wodurch einige Ausnahmen zu einem Absturz führen
Visual Studio 2019, Version 16.8.1
Veröffentlichung: 12. November 2020
In diesem Release von Visual Studio 2019, Version 16.8.1, behobene Fehler
- Das folgende Problem wurde behoben: „Das Paket 'SourceExplorerPackage' wurde nicht ordnungsgemäß geladen.“ Die Warnung wird angezeigt, wenn ein Repository in Team Explorer geklont wird. Wenn dieses Problem auftritt, würde das Produkt nicht mehr reagieren.
Visual Studio 2019, Version 16.8.0
Veröffentlichung: 10. November 2020
Zusammenfassung der Neuerungen in diesem Release von Visual Studio 2019 Version 16.8
F# :
- F# 5 wird jetzt zusammen mit .NET 5 veröffentlicht
- Leistungsverbesserungen und Fehlerbehebungen für Visual Studio-Tools über die F#-Tools, Version 11.0.0
- Vollständige Anmerkungen zur Version auf GitHub verfügbar
C++:
- C++20-Coroutinen werden nun unter „/std:c++latest“ und im <coroutine>-Header unterstützt.
- IntelliSense bietet jetzt Unterstützung für <concepts>- und <ranges>-Header für C++ 20 sowie zum Umbenennen und Durchsuchen von Konzeptdefinitionen.
- Unser STL-Format unterstützt nun einen Großteil der C++ 20-Bereiche.
- Bedingt triviale besondere Memberfunktionen werden jetzt in MSVC unterstützt.
- C11 und C17 werden nun über die Optionen „/std:c11“ und „/std:c17“ unterstützt.
- Unter anderem wurden die folgenden zusätzlichen STL-Optimierungen hinzugefügt: vollständige Unterstützung für std::atomic_ref, std::midpoint and std::lerp und std::execution::unseq sowie Optimierungen für std::reverse_copy.
- Aktualisierte Version CMake 3.18 der in Visual Studio enthaltenen Version von CMake.
- Unsere Codeanalysetools unterstützen jetzt den SARIF 2.1-Standard – das Standardprotokollformat für die statische Analyse.
- Fehlende Buildtools in Linux-Projekten geben nun eine Warnung in der Symbolleiste und eine klare Beschreibung der fehlenden Tools in der Fehlerliste aus.
- Sie können jetzt Linux-Kernspeicherabbildungen auf einem Linux-Remotesystem oder einem WSL direkt in Visual Studio debuggen.
- Für die Kommentarerstellung für C++ Doxygen haben wir weitere Kommentarformatoptionen hinzugefügt (/*! und //!).
- Weitere Ankündigungen für vcpkg
- Compilerunterstützung von Lambdas in nicht ausgewerteten Kontexten
- /debug:full Linkleistung wurde durch Multithreading-PDB-Erstellung verbessert. Für mehrere große Anwendungen und AAA-Spiele zwischen 2 und 4 Mal schnelleres Linking.
- Der Visual Studio-Debugger verfügt nun über Unterstützung für char8_t.
- Unterstützung für ARM64-Projekte mit clang-cl.
- Unterstützung für Intel AMX-Interna.
- Es wurde eine neue Linkoption hinzugefügt,
legacy_stdio_float_rounding.obj
, um das Legacyverhalten des Druckens von Gleitkommawerten zu aktivieren, das in Dev16.2 geändert wurde, um exakt repräsentierbare Gleitkommazahlen zu runden. Weitere Informationen finden Sie unter printf, _printf_l, wprintf, _wprintf_l.
- Unterstützung des Debuggens von .NET Core-Speicherabbildungen von Linux-Kernen
- Automatische Analyse von .NET und .NET Core
- Automatische Analyse der langsamsten Pfade von .NET- und .NET Core-Arbeitsspeichern
Experimentelle Razor-Editor-Updates:
- Blazor-Fehlerbehebungen
- C#-Fehlerbehebungen
- Erweiterte Razor-Formatierung
- Umbenennen von Razor-Komponenten in Markupelementen aus RAZOR-Dateien
- „Gehe zu Definition“ für Tagnamespace von Blazor-Komponenten
- Farbliche Kennzeichnung beim Zeigen auf C#-Code
- Farbliche Kennzeichnung von QuickInfos für C#-Codevervollständigung
- Die Option „Gehe zu Definition“ wurde für Razor implementiert und gilt auch für geschlossene Dateien.
- Alle Verweise in geschlossenen Razor-Dateien suchen
- Verbesserte Razor-Bearbeitungsleistung und Stabilität für große Projekte und Projektmappen
Fakes mit Projekten im SDK-Format:
- Wenn die neue Fakes-Unterstützung für Projekte im SDK-Format verwendet wird, erhalten einige Benutzer beim Generieren von Shims den folgenden Fehler
- Weitere Informationen zur Verwendung aller Git-Features finden Sie in unserer neuen Onlinedokumentation
- Öffnen Sie das Git-Repositoryfenster jederzeit über das Fenster „Git Changes“ (Git-Änderungen), über das Menü „View“ (Ansicht) und die Statusleiste
- Abrufen, Pullen und Pushen von mehreren Remoteelementen im Fenster „Git Changes“ (Git-Änderungen)
- Anzeigen von Erfolgs- und Fehlermeldungen für Git-Befehle am oberen Rand des Git-Repositoryfensters
- Erstellen eines neuen Branch aus einem Azure DevOps-Arbeitselement
- Öffnen eines Git-Repositorys aus einer Liste mit lokalen Repositorys im Git-Menü
- Der Standardanbieter für Quellcodeverwaltung ist jetzt Git anstelle von TFVC
- Wechseln zwischen Branchverläufen im Git-Repository-Fenster mit einem Mausklick
- Anzeigen und Auswählen aus einer Liste mit Lösungen im Projektmappen-Explorer nach dem Öffnen eines Repositorys
- Bearbeiten der Verlaufsansicht und Suchen nach Commits über die Symbolleiste im Fenster „Git-Repository“
- Abrufen, Pullen und Pushen aus eingehenden und ausgehenden Commitabschnitten im Verlaufsdiagramm eines Branchs
- Aufforderung zum Erstellen eines Pull Requests nach dem Pushen eines Branchs an den Remotecomputer
- Anzeigen von Branchnamen in den Befehlen „Mergen“ und „Rebase ausführen“ im Kontextmenü der Branchliste
- Zugreifen auf Git-Befehle über das Kontextmenü im Projektmappen-Explorer und dem Editor
- Überwachen des Klonstatus über ein neues modales Dialogfeld mit der Option, den Prozess in den Hintergrund zu verschieben
IntelliCode:
- Erhalten personalisierter IntelliCode-Vervollständigungen in Visual Studio-Dokumentation
- Sorgen Sie dafür, dass Ihre IntelliCode-Vervollständigungen mit Ihrer Codebasis und Freigabe im Rahmen der Dokumentation des CI-Workflows Ihres Teams auf dem neuesten Stand gehalten werden
- Roslyn-Analysetools sind jetzt im .NET 5.0 SDK enthalten
- Refactoringprozess, mit dem die neue C# 9-Syntax zum
not
-Musterabgleich eingeführt wird, wenn ein Unterdrückungsoperator vorhanden ist - Refactoring von Inlinemethoden zum Ersetzen der Syntax statischer, Instanz- und Erweiterungsmethoden innerhalb eines einzelnen Anweisungsabschnitts
- Codekorrektur zum Konvertieren von Instanzen von
typeof
innameof
in C# und vonGetType
inNameOf
in Visual Basic - C#- und Visual Basic- Unterstützung von Hinweisen zu Inlineparameternamen, mit denen Randsteuerelemente für Literale, umgewandelte Literale und Objektinstanziierungen vor jedem Argument in Funktionsaufrufen eingefügt werden
- Refactoring, bei der Member aus einer ausgewählten Klasse in eine neue Basisklasse in C# und Visual Basic extrahiert werden
- Bei der Codebereinigung gibt es neue Konfigurationsoptionen, mit denen Sie in ihrer EditorConfig-Datei festgelegte Einstellungen für die Formatierung und Dateiheader auf eine einzelne Datei oder eine gesamte Projektmappe anwenden können
- Codekorrektur, um das Schlüsselwort
in
zu entfernen, bei dem das Argument nicht als Verweis übermittelt werden soll - Refactoring, das die neuen C# 9-Musterkombinatoren und Mustervergleichsvorschläge einführt, z. B. das Konvertieren von
==
für die Verwendung vonis
, sofern zutreffend - Codefix, mit dem in eine abstrakte Klasse konvertiert werden kann, wenn Sie versuchen, eine abstrakte Methode in eine Klasse zu schreiben, die nicht abstrakt ist
- IntelliSense-Vervollständigung in DateTime- und TimeSpan-Zeichenfolgenliteralen wird automatisch angezeigt, wenn das erste Anführungszeichen eingegeben wird
- Codekorrektur zum Entfernen unnötiger
pragma suppressions
und unnötigerSuppressMessageAttributes
Rename
undFind All References
verstehen Verweise auf Symbole in der Zielzeichenfolge globalerSuppressMessageAttributes
- ByVal wird ausgeblendet, da nicht erforderlich, und ein Codefix entfernt alle unnötigen ByVal-Elemente in Visual Basic
- Interaktive Fensterunterstützung für mehrere Runtimes, beispielsweise .NET Framework und .NET Core.
- Neue RegisterAdditionalFileAction-API hinzugefügt, die es Analysetoolautoren ermöglicht, ein Analysetool für zusätzliche Dateien zu erstellen.
- Fügen Sie Ihr GitHub-Konto über die Benutzeroberfläche zur Kontoverwaltung hinzu
- In diesem Release wird die Funktion „In Dateien suchen“ als veraltet markiert, und alle Benutzer werden auf die neue Benutzerumgebung umgestellt. Das Editor-Team arbeitet mit Benutzern zusammen, die Feedback in der Entwicklercommunity hinterlassen und bei denen Probleme mit der neuen Funktion „In Dateien suchen“ auftreten.
- Der ClickOnce-Veröffentlichungsanbieter ist nun für .NET Core 3.1- und .NET 5.0-Windows-Desktop-Apps verfügbar.
Bereich „Testdetails umschließen“ im Test-Explorer:
- Sie können jetzt Text im Bereich „Testdetails“ des Test-Explorers umschließen.
XAML-Tools (WPF, UWP und Xamarin.Forms):
- Diagnoseverbesserungen für XAML-Bindungsfehler
- Die XAML Hot Reload-Einstellungen wurden zu „Debuggen > Hot Reload“ verschoben
- Toolboxauffüllung über nicht referenzierte NuGet-Pakete
JavaScript/TypeScript:
- Der JavaScript-/TypeScript-Debugger unterstützt jetzt das Debuggen von Service Workern, Workerrollen, iFrames und Seiten-JavaScript zur gleichen Zeit! Außerdem bietet die neue Debugbenutzeroberfläche Unterstützung für das Debuggen Ihrer Back-End-Knotenserveranwendungen und des clientseitigen JavaScript-Codes im Browser zur gleichen Zeit. Diese Funktion ist noch experimentell. Sie können die neue Debugbenutzeroberfläche im Menü „Debugoptionen“ aktivieren.
- Sie können jetzt über die Codeaktions-Tastenkombination (STRG+.) Refactorings auslösen, wenn diese verfügbar sind. Sie müssen nicht einmal Text auswählen. TypeScript ist nun intelligent genug, um die Cursorposition herum die besten verfügbaren Refactorings zu ermitteln!
- Sie können jetzt optimieren, welche Pakete TypeScript bezüglich automatischer Importvervollständigung durchsucht. Dies kann in einigen Projekten mit vielen Abhängigkeiten zu Leistungsverbesserungen führen. Weitere Informationen finden Sie unter TypeScript 4.0 (Versionshinweise) [https://www.typescriptlang.org/docs/handbook/release-notes/typescript-4-0.html]
- Wir haben im Ausgabebereich eine Meldung mit den Typen hinzugefügt, die zur Unterstützung von IntelliSense installiert werden. Wir empfehlen, dem Projekt eine TSCONFIG-Datei hinzuzufügen, um anzupassen, welche Typen verwendet werden.
- Beachten Sie, dass Compiler und Sprachdienst für TypeScript 4.0 eingebunden werden.
Sicherheitshinweis
CVE-2020-17100 Sicherheitsrisiko durch Manipulation in Visual Studio
Eine Manipulationsanfälligkeit besteht, wenn die Python Tools für Visual Studio den Ordner „python27“ erstellen. Ein Angreifer, der dieses Sicherheitsrisiko erfolgreich ausnutzt, könnte Prozesse in einem Kontext mit erhöhten Rechten ausführen.
Probleme, die in diesem Release behandelt werden
- Es wurde ein Problem behoben, bei dem die Kompilierung mit dem Intel-C++-Compiler in Visual Studio 2019 16.7 Compilerfehler in Bezug auf 80-Bit-long-double-Werte ausgab, sodass Projekte nicht erstellt werden konnten.
- Es wurde ein Problem behoben, bei dem Live Unit Testing in einigen Szenarien nicht gestartet werden konnte.
- .NET 5.0.RC2 zu Visual Studio 2019, v16.8, Vorschauversion 4 hinzugefügt
- Es wurde ein Fehler behoben, bei dem ein Git-Vorgang zuweilen zwar gestartet, aber nicht beendet wurde.
- Funktionalität zum Erstellen von Visual Studio Codespaces und Herstellen einer Verbindung damit wurde hinzugefügt.
- Es wurde ein Fehler behoben, der dazu führte, dass Visual Studio 2019 abstürzt oder nicht mehr reagiert, wenn ASP.NET Core-Lösungen geschlossen werden.
- Es wurde das Problem behoben, dass das C++-Projektsystem nach der Deinstallation und Neuinstallation von Visual Studio 2019 nicht mehr geladen wurde.
Details zu den Neuerungen in Visual Studio 2019 Version 16.8.0
C++
- C++20-Coroutinen werden nun unter „/std:c++latest“ und im <coroutine>-Header unterstützt. Unterstützung für unser Legacyverhalten steht unter <experimental/coroutine> und dem /await-Parameter zur Verfügung.
- IntelliSense bietet jetzt Unterstützung für <concepts>- und <ranges>-Header für C++ 20 sowie zum Umbenennen und Durchsuchen von Konzeptdefinitionen. Es gibt ein bekanntes Problem, das in Vorschauversion 4 behandelt werden soll.
- Unser STL-Format unterstützt nun einen Großteil der C++ 20-Bereiche. Sie können den Fortschritt in unserem GitHub-Issue zu Bereichen nachverfolgen.
- Bedingt triviale besondere Memberfunktionen werden jetzt in MSVC unterstützt.
- C11 und C17 werden nun über die Optionen „/std:c11“ und „/std:c17“ unterstützt.
- Unter anderem wurden die folgenden zusätzlichen STL-Optimierungen hinzugefügt: vollständige Unterstützung für std::atomic_ref, std::midpoint and std::lerp und std::execution::unseq sowie Optimierungen für std::reverse_copy. Informationen zu allen Updates finden Sie in unserem Änderungsprotokoll.
- Wir haben die in Visual Studio enthaltene Version von CMake auf CMake 3.18 aktualisiert.
- Unsere Codeanalysetools unterstützen jetzt den SARIF 2.1-Standard – das Standardprotokollformat für die statische Analyse. Weitere Informationen zum SARIF-Format finden Sie in der offiziellen Spezifikation.
- Fehlende Buildtools in Linux-Projekten geben nun eine Warnung in der Symbolleiste und eine klare Beschreibung der fehlenden Tools in der Fehlerliste aus.
- Sie können jetzt Linux-Kernspeicherabbildungen auf einem Linux-Remotesystem oder einem WSL direkt in Visual Studio debuggen.
- Für die Kommentarerstellung für C++ Doxygen haben wir weitere Kommentarformatoptionen hinzugefügt (/*! und //!).
- Weitere Ankündigungen für vcpkg
- Es wurde Compilerunterstützung für Lambdaausdrücke in nicht ausgewerteten Kontexten erstellt, wodurch Sie diese in decltype-Spezifizierern verwenden können.
- Linter- und Fixup-Funktionen werden jetzt während der Eingabe in Visual Studio angezeigt. Konfigurationen können Sie wie folgt vornehmen: „Extras > Optionen > Text-Editor > C/C++ > CodeStyle > Linter + Fixups“.
Debugger
Unterstützung des Debuggens von .NET Core-Speicherabbildungen von Linux-Kernen
Das Debuggen von verwalteten Speicherabbildungen von Linux-Kernen war bisher schwierig, da dafür zunächst eine weitere Linux-Umgebung eingerichtet werden musste, die die Produktionsumgebung genau widerspiegelte, und anschließend mussten Analysetools installiert werden. Mit Visual Studio 2019, Version 16.8, Vorschauversion 3 können Sie verwaltete Speicherabbildungen von Linux-Kernen ganz einfach per Drag & Drop direkt in die IDE übertragen und sofort mit dem Debuggen beginnen.
Automatische .NET-Analyse
Die asynchrone Programmierung gibt es auf der .NET-Plattform bereits seit einigen Jahren, hat aber bisher nicht gut funktioniert. Wir haben ein Analysetool für Speicherabbildungen eingeführt und verwaltet, mit dem Sie die folgenden Szenarien und Antimuster identifizieren können:
- Sync-over-Async
- Threadpoolerschöpfung
Automatische Analyse der langsamsten Pfade von .NET- und .NET Core-Arbeitsspeichern
Dadurch können Kunden dominante Objekttypen in ihren Arbeitsspeicherheaps über flame-Anmerkungen im Fenster „Diagnostics Memory Tool“ aufrufen.
Fakes mit Projekten im SDK-Format generieren Shim-Probleme
Wenn die neue Fakes-Unterstützung für Projekte im SDK-Format verwendet wird, erhalten einige Benutzer beim Generieren von Shims den folgenden Fehler.
Cannot generate shim for System.DateTime: type is not supported because of internal limitations
Eine Korrektur wird in Version 16.8 Preview 3 veröffentlicht. Wenn Sie die Version 16.7.* verwenden, können Sie die folgende Problemumgehung testen:
- Fügen Sie <FakesUseV2Generation>False</FakesUseV2Generation> zu einer PropertyGroup in Ihrer csproj-Datei hinzu.
- Fügen Sie <Fakes Include="Fakes\*.fakes" /> zu einer ItemGroup in Ihrer csproj-Datei hinzu.
- Fügen Sie einen Verweis zu den generierten Fakes-Assemblys unter ProjectDir/FakesAssemblies hinzu.
Informationen zu weiteren Updates erhalten Sie in der Developer Community.
Experimentelle Razor-Editor-Updates
Der neue experimentelle Razor-Editor unterstützt jetzt die folgenden Razor-Bearbeitungsfeatures:
- Blazor-Fehlerbehebungen:
- Extrahieren in Code Behind*:
- Erstellen von Komponenten aus Tags*
- Hinzufügen einer
@using
-Anweisung für eine Komponente - Vollständige Qualifizierung eines Komponententagnamens
- C#-Fehlerbehebungen
- Hinzufügen einer
@using
-Anweisung - Vollständige Qualifizierung eines Namens
- Hinzufügen einer
- Erweiterte Razor-Formatierung
- Umbenennen von Razor-Komponenten in Markupelementen aus RAZOR-Dateien
- „Gehe zu Definition“ für Tagnamen von Blazor-Komponenten
- Farbliche Kennzeichnung beim Zeigen auf C#-Code
- Farbliche Kennzeichnung von QuickInfos für C#-Codevervollständigung
- Alle Verweise in geschlossenen Razor-Dateien suchen
- Verbesserte Razor-Bearbeitungsleistung und Stabilität für große Projekte und Projektmappen
* Dies funktioniert nur in lokalen Razor-Szenarien und wird in Visual Studio Codespaces oder Live Share noch nicht unterstützt.
Um den experimentellen Razor-Editor zu aktivieren, gehen Sie zu Extras>Optionen>Umgebung>Vorschaufeatures, und wählen Sie Enable experimental Razor editor (Experimentellen Razor-Editor aktivieren). Starten Sie Visual Studio anschließend neu.
Visual Studio 2019 IDE
- Fügen Sie Ihr GitHub-Konto über die bekannte Visual Studio-Benutzeroberfläche zur Kontoverwaltung hinzu. Die Versionskontrolle, das integrierte Terminal und andere Features können dann Ihre Kontoanmeldeinformationen nutzen, um deren Anforderungen an die GitHub-Authentifizierung zu erfüllen.
- Der ClickOnce-Veröffentlichungsanbieter ist nun für .NET Core 3.1- und .NET 5.0-Windows-Desktop-Apps verfügbar. Klicken Sie zunächst in Projektmappen-Explorer mit der rechten Maustaste auf das Projekt, und wählen Sie „Veröffentlichen“ aus, oder wählen Sie das Menü „Erstellen > <AppName> veröffentlichen“ aus. ClickOnce finden Sie unter der Ordnerkategorie.
Git-Produktivität
- Erstellen eines neuen Branch aus einem Azure DevOps-Arbeitselement
- Öffnen eines Git-Repositorys aus einer Liste mit lokalen Repositorys im Git-Menü
Git ist jetzt anstelle von TFVC der Standardquellcodeverwaltungsanbieter (änderbar über „Extras > Optionen > Quellcodeverwaltung“).
Wechseln zwischen Branchverläufen im Git-Repository-Fenster mit einem Mausklick
Anzeigen und Auswählen aus einer Liste mit Lösungen in Ihrem Repository im Projektmappen-Explorer nach dem Öffnen eines Repositorys
.NET-Produktivität
- Die Analysetools der .NET Compiler Platform („Roslyn“) analysieren Ihren C#- oder Visual Basic-Code auf Sicherheit, Leistung, Design und weitere Aspekte. Ab .NET 5.0 sind diese Analysetools im .NET SDK enthalten. Die Analysetools sind für Projekte mit dem Ziel .NET 5.0 oder höher standardmäßig aktiviert. Sie können die Codeanalyse für Projekte aktivieren, die auf frühere Versionen von .NET abzielen, indem Sie die Eigenschaft EnableNETAnalyzers auf True festlegen. Sie können die Codeanalyse für Ihr Projekt deaktivieren, indem Sie die Eigenschaft EnableNETAnalyzers auf False festlegen. Darüber hinaus können Sie .NET-Analysetools auch über das Fenster Projekteigenschaften (de-)aktivieren. Sie können das Fenster Projekteigenschaften aufrufen, indem Sie im Projektmappen-Explorer erst mit der rechten Maustaste auf ein Projekt und anschließend mit der linken auf Eigenschaften klicken. Klicken Sie als Nächstes auf die Registerkarte Code Analysis, auf der Sie das Kontrollkästchen Enable .NET analyzers (.NET-Analysetools aktivieren) (de-)aktivieren können.
- Es gibt jetzt einen Refactoringprozess, mit dem die neue C# 9-Syntax zum
not
-Musterabgleich eingeführt wird, wenn es einen Unterdrückungsoperator gibt. Platzieren Sie den Cursor auf dem Operator zum Unterdrücken. Drücken Sie (Ctrl+. ), um das Menü Schnellaktionen und Refactorings zu öffnen. Klicken Sie auf Musterabgleich verwenden.
- Es gibt jetzt eine Option zum Inlinemethodenrefactoring, über die Sie die Nutzung einer statischen Instanz und einer Erweiterungsmethode in einem Anweisungstext durch eine Option zum Entfernen der ursprünglichen Methodendeklaration ersetzen können. Zeigen Sie mit dem Cursor auf die Methodennutzung. Drücken Sie (Ctrl+. ), um das Menü Schnellaktionen und Refactorings zu öffnen. Wählen Sie dann eine der folgenden Optionen aus:
Klicken Sie auf Inline <QualifiedMethodName>
, um die Inlinemethodendeklaration zu entfernen:
Klicken Sie auf <QualifiedMethodName>
inline einbinden und beibehalten, um die ursprüngliche Methodendeklaration beizubehalten:
Beim Erstellen einer neuen C#- oder einer Visual Basic-Datei aus einer Vorlage werden die EditorConfig-Codeformateinstellungen respektiert. Die folgenden Codeformate werden automatisch angewendet, wenn Sie neue Dateien erstellen: Dateiheader, using-Direktiven sortieren und innerhalb/außerhalb von Namespaces platzieren.
Für C# und Visual Basic werden jetzt Hinweise zu Inlineparameternamen unterstützt, mit denen Randsteuerelemente für Literale, umgewandelte Literale und Objektinstanziierungen vor jedem Argument in Funktionsaufrufen eingefügt werden. Sie müssen diese Option zunächst unter Extras>Optionen>Text-Editor>C# oder Basic>Erweitert aktivieren, indem Sie Hinweise zu Inlineparameternamen anzeigen (experimentell) auswählen. Die Hinweise zu Inlineparameternamen werden dann in C#- und Visual Basic-Dateien angezeigt.
- Sie können jetzt Member aus einer ausgewählten Klasse in eine neue Basisklasse extrahieren, indem Sie das neue Refactoring Extract Base Class (Basisklasse extrahieren) verwenden. Platzieren Sie den Cursor entweder auf dem Klassennamen oder auf einem markierten Member. Drücken Sie (Ctrl+. ), um das Menü Schnellaktionen und Refactorings zu öffnen. Wählen Sie Member auf neue Basisklasse ziehen aus. Das neue Dialogfeld Extract Base Class (Basisklasse extrahieren) wird geöffnet, in dem Sie den Namen und die gewünschte Position für die Basisklasse angeben können. Sie können die Member auswählen, die in die neue Basisklasse übertragen werden sollen. Wenn Sie das Kontrollkästchen in der Spalte „Als abstrakt festlegen“ aktivieren, werden die Member als abstrakt definiert.
Indem Sie OK auswählen, wird die neue Basisklasse mit ihren Membern hinzugefügt.
- Es gibt jetzt eine Codekorrektur zum Konvertieren von Instanzen von typeof(
<QualifiedType>
).Name in nameof(<QualifiedType>
) in C# und Instanzen von GetType(<QualifiedType>
).Name in NameOf(<QualifiedType>
) in Visual Basic. Wenn Sie anstelle des Namens des Typs nameof verwenden, werden die am Abruf eines Objekts beteiligten Reflektionen vermieden. Platzieren Sie den Cursor in typeof(<QualifiedType>
).Name. Drücken Sie (Ctrl+. ), um das Menü Schnellaktionen und Refactorings zu öffnen. Wählen Sie dann eine der folgenden Optionen aus:
Bei C# wählen Sie typeof
in nameof
konvertieren aus:
Bei Visual Basic wählen Sie GetType
in NameOf
konvertieren aus:
- Bei der Codebereinigung gibt es neue Konfigurationsoptionen, mit denen Sie in ihrer EditorConfig-Datei festgelegte Einstellungen für die Formatierung und Dateiheader auf eine einzelne Datei oder eine gesamte Projektmappe anwenden können.
- Es gibt jetzt einen Codefix, um das Schlüsselwort
in
zu entfernen, bei dem das Argument nicht als Verweis übermittelt werden soll. Zeigen Sie mit dem Cursor auf den Fehler. Drücken Sie (Ctrl+. ), um das Menü Schnellaktionen und Refactorings zu öffnen. Wählen Sie Remove ‘in’ keyword (‘in’-Schlüsselwort entfernen) aus.
- Es gibt jetzt ein Refactoring, das die neuen C#9-Musterkombinatoren einführt. Zusammen mit den Musterabgleichvorschlägen wie dem Konvertieren von
==
zur Verwendung vonis
(wo möglich), empfiehlt dieser Codefix auch die Musterkombinatorenand
,or
undnot
, wenn mehrere unterschiedliche Muster abgeglichen und negiert werden. Zeigen Sie mit dem Cursor auf die Anweisung. Drücken Sie (Ctrl+. ), um das Menü Schnellaktionen und Refactorings zu öffnen. Klicken Sie auf Musterabgleich verwenden.
- Es gibt jetzt einen Codefix, mit dem in eine abstrakte Klasse konvertiert werden kann, wenn Sie versuchen, eine abstrakte Methode in eine Klasse zu schreiben, die nicht abstrakt ist. Zeigen Sie mit dem Cursor auf den Methodenfehler. Drücken Sie (Ctrl+. ), um das Menü Schnellaktionen und Refactorings zu öffnen. Klicken Sie auf Make class ‘abstract’ (Klasse als abstrakt festlegen).
- In Version 16.7 Vorschau 1 wurden IntelliSense-Vervollständigung in DateTime- und TimeSpan-Zeichenfolgenliteralen hinzugefügt. In diesem Release wird die Vervollständigungsliste automatisch angezeigt, wenn das erste Anführungszeichen eingegeben wird. In der Vergangenheit war es erforderlich, (STRG+LEERTASTE) einzugeben, um diese Vervollständigungsliste anzuzeigen. Zeigen Sie mit dem Cursor auf das DateTime- oder TimeSpan-Zeichenfolgenliteral, und tippen Sie das erste doppelte Anführungszeichen ein. Anschließend werden Vervollständigungsoptionen und eine Erläuterung zur Bedeutung der einzelnen Zeichen angezeigt. Sowohl das Datums-/Uhrzeitformat als auch ein Beispiel werden bereitgestellt.
- Es gibt nun einen Codefix, um unnötige Pragma-Unterdrückungen und unnötige
SuppressMessageAttributes
zu entfernen. Zeigen Sie mit dem Cursor auf die Pragma-Warnung oder dasSuppressMessageAttribute
. Drücken Sie (Ctrl+. ), um das Menü Schnellaktionen und Refactorings zu öffnen. Klicken Sie auf Unnötigen Unterdrückungsoperator entfernen.
- Die Funktionen Umbenennen und Alle Verweise suchen verstehen nun Verweise auf Symbole innerhalb der Zielzeichenfolge globaler
SuppressMessageAttribute
-Unterdrückungen.
- In Visual Basic gab es mehrere Methoden zum Übergeben von Parametern, ByVal und ByRef, und für lange Zeit war ByVal optional. ByVal wird nun ausgeblendet, da er nicht erforderlich ist, und ein Codefix entfernt alle unnötigen Instanzen von ByVal. Zeigen Sie mit dem Cursor auf das Schlüsselwort ByVal. Drücken Sie (Ctrl+. ), um das Menü Schnellaktionen und Refactorings zu öffnen. Klicken Sie auf ‘ByVal’ keyword is unnecessary and can be removed (Schlüsselwort „ByVal“ ist unnötig und kann entfernt werden).
- Sie verfügen nun über interaktive Fensterunterstützung für mehrere Runtimes, zum Beispiel .NET Framework und .NET Core.
- Es gibt eine neue RegisterAdditionalFileAction-API, die es Analysetoolautoren ermöglicht, ein Analysetool für zusätzliche Dateien zu erstellen.
Bereich „Testdetails umschließen“ im Test-Explorer
Dieses stark geforderte Feature ermöglicht es Benutzern, Textumschließungen auszuwählen oder die Standardausrichtung des Texts beizubehalten. Wenn keine Textausrichtung benötigt wird, kann das Feedback eines Testlaufs mithilfe einer Umschließung übersichtlicher gestaltet werden, und es ist keine horizontale Scrollleiste nötig. Sie können diese Option über das Einstellungsmenü des Test-Explorers oder das Kontextmenü im Bereich „Zusammenfassung“ aktivieren.
XAML-Tools (WPF, UWP und Xamarin.Forms)
Diagnoseverbesserungen für XAML-Bindungsfehler
Entwickler, die an WPF-, UWP-, WinUI- und Xamarin.Forms-Projekten arbeiten, müssen häufig XAML-Datenbindungsfehler in ihren Anwendungen erkennen und auflösen. Um die Diagnosetools in diesem Szenario zu verbessern, haben wir Visual Studio 2019, Version 16.8 oder höher, zwei neue Elemente hinzugefügt:
- Symbol „XAML-Bindungsfehlerindikator“: Ein neues Indikatorsymbol für XAML-Bindungsfehler ist nun in der In-App-Symbolleiste für WPF- und UWP-Projekte und in der visuellen Livestruktur für alle XAML-Projekte einschließlich Xamarin.Forms vorhanden. Dieses Symbol zeigt einen roten Indikator an, wenn mindestens ein Bindungsfehler erkannt wird. Wenn Sie auf das Symbol klicken, gelangen Sie auch zum neuen Fenster „XAML-Bindungsfehler“.
- Fenster „XAML-Bindungsfehler“: Das neue Fenster „XAML-Bindungsfehler“ ist jetzt für WPF-, UWP-, WinUI- und Xamarin.Forms-Projekte verfügbar. Diese neuen dedizierten Elemente bieten eine umfangreiche Benutzeroberfläche für die Bindungsfehlerinformationen, die zuvor nur im Ausgabefenster verfügbar waren. Zu den Verbesserungen gehört die Möglichkeit, die Fehler als eine Gruppe von Spalten anzuzeigen, die sortiert und angepasst werden können und vollständig durchsuchbar sind. Wir haben auch ähnliche Fehler gruppiert, um das Rauschen zu begrenzen, das bei einer bestimmten Kombination von Fehlern der Datenbindungsvorlage auftreten kann. Gleichzeitig werden alle ursprünglichen unformatierten Fehlerinformationen über eine Kontextmenüoption zur Verfügung gestellt und können problemlos kopiert werden. (Hinweis: erfordert Xamarin Version 4.5.0.266-pre3 oder höher)
- Navigieren Sie zu Quelle für Bindungsfehler: In Zusammenarbeit mit dem WPF-Team haben wir für Kunden die Möglichkeit aktiviert, zur Quelle von Bindungsfehlern zu navigieren, die als Ziel WPF unter .NET 5 (RC2 oder neuer) verwenden.
Neuladen von XAML im laufenden Betrieb
- Xamarin.Forms XAML Hot Reload „nur für Änderungen“ unterstützt jetzt UWP: Mit diesem Release beginnt der Rollout der häufig gewünschten Funktion der Unterstützung von XAML Hot Reload bei Xamarin.Forms-Projekten für UWP nur für Änderungen. Beachten Sie, dass sich dieses Feature noch in der Entwicklung befindet, und beim Bearbeiten von XAML werden jetzt Updates in der ausgeführten App ausgelöst. Andere Features wie die In-App-Symbolleiste (Elementauswahl usw.) sind noch nicht vollständig implementiert, was aber in einem zukünftigen Release der Fall sein wird.
- Die XAML Hot Reload-Einstellungen wurden zu „Debuggen > Hot Reload“ verschoben: In dieser Version haben wir die XAML-Einstellungen für Hot Reload für WPF, UWP und Xamarin.Forms in einem einheitlichen Einstellungsbildschirm unter „Debuggen > Hot Reload“ konsolidiert. Wir haben außerdem zum ersten Mal die Möglichkeit aktiviert, XAML Hot Reload auf Plattformbasis zu deaktivieren oder zu aktivieren, damit Sie die vollständige Kontrolle darüber erhalten, wann diese Funktion verfügbar ist. (Hinweis: Während der Migration werden keine Einstellungen geändert, sodass alle festgelegten Optionen am neuen Speicherort weiterhin wirksam bleiben)
XAML-Code-Editor:
- WinUI 3.0 IntelliSense-Unterstützung: In diesem Release haben wir bessere IntelliSense-Unterstützung für Entwickler aktiviert, die Apps mithilfe der neuen Vorschau 3 von WinUI 3.0 oder neuer erstellen. Weitere Informationen zu WinUI 3.0 finden Sie in der Dokumentation. Besuchen Sie das Windows UI-XAML-GitHub-Repository, um Feedback bereitzustellen. Hinweis: Die neueste Vorschau von WinUI 3.0 wird für die aktualisierte Toolbenutzeroberfläche für 16.9 Vorschau 1 empfohlen.
- Verbessern der MVVM-Unterstützung: Wenn Sie ein XAML-Dokument erstellen, können Sie „d:DataContext“ festlegen, um exakte IntelliSense-Bindungen für das XAML-Dokument zu erhalten. In der Vergangenheit war die manuelle Angabe des Datenkontexttyps sehr aufwendig. Sie mussten das XAML-Dokument schließen, den gewünschten Ansichtsmodelltyp suchen, seinen Namespace und Namen kopieren und in die d:DataContext-Deklaration einfügen. In diesem Release wird ein neues Feature eingeführt, mit dem Sie im Handumdrehen über eine Glühbirne, die mögliche Ansichtsmodelle vorschlägt, eine d:DataContext-Deklaration deklarieren können.
Erweiterbarkeit
- Toolbox-Auffüllung aus nicht referenzierten NuGet-Paketen: In diesem Release haben wir Unterstützung für TargetFrameworkMoniker-spezifische VisualStudioToolsManifest.xml-Dateien für das Auffüllen der Toolbox mit Steuerelementen aus nicht referenzierten NuGet-Paketen hinzugefügt. Beispielsweise könnte Ihr Paket unterschiedliche Steuerelemente für .NET Core 3.1- und .NET 5.0-Projekte zur Verfügung stellen.
Aus der Entwicklercommunity
- WPF-Anwendungen für .NET 5 können nicht kompiliert werden.
- Die Verwendung von „mbuild.exe“ aus der Befehlszeile für Xamarin.iOS bleibt beim Abschluss hängen.
- Wenn IntelliCode 2.2.733.31896 beim Bearbeiten einer TS-Datei deaktiviert wird, wird TypeScript 3.x mit einer CompositionFailedException unterbrochen.
- TypeScript IntelliSense wird ständig angehalten.
- VS2019 C++: Ungültiger Code wird bei Verwendung von „Optimize“ generiert.
- Hintergrundaufgaben melden ununterbrochen „IntelliSense-Vorgang für C/C++ wird durchgeführt“.
- WPF-Designer-Fehler: Der berechnete Knotenpfad ist ungültig – NULL->Window:Grid
- Der Prozess von Visual Studio 16.8.0 Preview 4 verschwindet
- VS stürzt ab, wenn durch das Fenster „Ausnahmeeinstellungen“ gescrollt wird.
- USE_ATL_THUNK2-Makro aus „atlstdthunk.h“ kann nicht definiert werden.
- Häufige Abstürze von Visual Studio Community 2019 16.7.x
- Beim Wechsel zum NuGet-Paket-Manager stürzt Visual Studio ab.
- ASan mit AVX2 meldet Stapelpufferüberlauf.
- Visual Studio kann nicht geschlossen werden – Zugriff auf ein verworfenes Objekt ist nicht möglich.
- Eine Ausnahme vom Typ NullReferenceException ist aufgetreten.
- Probleme mit Visual Basic Analyzer-Vorlage
- VS stürzt bei der Eingabe in die CS-Datei ab.
- Prüfungen neuer Varianten treten in der C++-Codeanalyse (VS 2019 Update 8 Vorschauversion 3) nicht auf/funktionieren nicht.
- Beim Öffnen einer C++-Projektmappe mit externen Abhängigkeitsdateien zeigen die Registerkarten für diese Dateien „Fehler in...“ an
- C++ builds with Windows SDK 8.1 fail after upgrade to Visual Studio 16.7 (Fehler bei C++-Builds mit Windows SDK 8.1 nach dem Upgrade auf Visual Studio 16.7)
- ARM64 C++: 16.4 -> 16.5+-Regression.
- csproj wurde auf dem Datenträger geändert. Schließen Sie den Editor, und öffnen Sie ihn erneut.
- ServiceHub.Host.CLR.x64 funktioniert nicht mehr
- ASAN x64 - CMake does not seem to be supported (ASAN x64 – CMake wird offenbar nicht unterstützt)
- VS2019 WSL C++ compilation fails intermittently when Max Parallel Compilation Jobs is set to number of available processors (VS2019 WSL: Zeitweiliger Fehler bei der C++-Kompilierung wenn „Maximale Anzahl paralleler Kompilierungsaufträge“ auf die Anzahl verfügbarer Prozessoren festgelegt ist)
- Rebuilding project removes entire output folder (remote compilation) (Neuerstellen des Projekts entfernt gesamten Ausgabeordner [Remotekompilierung])
- VS2019 still wipes CMakeBuild directory each time I touch CMakeFiles.txt or CMakeSettings.json (VS2019 leert CMakeBuild-Verzeichnis immer noch jedes Mal, wenn ich CMakeFiles.txt oder CMakeSettings.json bearbeite)
- IntelliCodeCppPackage failed to load (IntelliCodeCppPackage konnte nicht geladen werden)
- Build error in CMake project WSL configuration caused by "/mnt/" prefix (Buildfehler in WSL-Konfiguration eines CMake-Projekts durch Präfix „/mnt/“)
- CMake : Environment variables created in CMakeSettings.json no longer expanded since upgrading to VS 16.7 (CMake: In CMakeSettings.json erstellte Umgebungsvariablen werden seit dem Upgrade auf VS 16.7 nicht mehr erweitert)
- Schema Compare does not evaluate SQLCMD variables when comparing DACPAC against Project Source Code (Schemavergleich wertet beim Vergleich von DACPAC mit dem Projektquellcode keine SQLCMD-Variablen aus)
- Separation of build and debug should not deploy .o files (Trennung von Build- und Debugversion sollte keine .o-Dateien bereitstellen)
- Module with partition won't compile (Modul mit Partition wird nicht kompiliert)
- Beim Wechseln zu einer Registerkarte wird die Meldung „Wir arbeiten daran.“ angezeigt
- Verwirrung des Visual Studio 2019-Debuggers durch mehrere Variablen mit demselben Namen
- Zeichenfolgenliteraltrennzeichen wird nach Klammer hervorgehoben
- Es kann keine Coroutine-Instanz mit einem promise_type-Element erstellt werden, das nicht standardmäßig konstruierbar ist
- C/C++ IntelliSense: Nach der Eingabe von var wird keine Memberliste angezeigt. nach einem arithmetischen Operator in C-Dateien
- CodeLens-Verweise werden nicht aktualisiert, wenn Codeänderungen in einer anderen Datei vorgenommen werden
- Die Option „Zu Definition wechseln“ führt zum std::function-Konstruktor anstatt zur Klasse des Lambdaausdrucks
- Der HLSL Shader Compiler kann kein Ausgabeverzeichnis für Headerdateien erstellen
- Unerwarteter Fehler C2027: Verwendung von undefiniertem Typ bei Verwendung der Vorlage mit /permissive
- D9025: „/sdl-“ wird mit „/GS-“ überschrieben
- „constexpr“ lehnt die Funktion „reference-to-pointer“ anscheinend ab
- Das Dokument ist bereits als Projekt oder Projektmappe geöffnet und kann zu diesem Zeitpunkt nicht in einem Editor geöffnet werden.
- Abdeckung für switch-Ausdruck in 16.7 entfernt
- C5045-Warnung wird ausgelöst, obwohl ich sie deaktiviert habe
- Xamarin.Forms: Archiv für iOS kann nicht erstellt werden
- CImage::Draw() hat einen mehrdeutigen Aufruf von DrawImage() in 16.7.0 Preview1
- Fehlende Sichten beim Laden eines Projekts mit angeheftetem Taskleistensymbol über „Ordner öffnen“
- C++: Compiler wählt falschen Überladungskandidaten
- Neues VB-VSIX-Projekt mit CodeFix kann nicht erstellt werden
- VS2019: Suchergebnisse verwenden Schrift-/Farbeinstellungen nicht
- Bearbeiten der EDITORCONFIG-Datei in einer großen Projektmappe führt zu langsam reagierendem Editor, hoher Prozessor- und Speicherauslastung und gelegentlichen Abstürzen
- Mit STRG+F aufgerufene Suchergebnisse werden als Text angezeigt, sollen jedoch im neuen strukturierten Suchergebnisfenster angezeigt werden
- Schaltfläche „Veröffentlichen“ ist nicht sichtbar
- „Speichern“ speichert nicht.
- Der Projektmappen-/Projektname mit mehr als 60 Zeichen ist nicht zulässig.
- Meldung, dass eine neue Lizenz für Visual Studio Enterprise 2019 verfügbar ist
- Darstellungsfehler bei Git-Ansicht im dunklen Modus
- Visual Studio 2019 stürzt bei einer Codeanalyse im Hintergrund ab und stellt keine Dateien wieder her.
- Fehler beim Versuch, ein Apple-Entwicklerkonto mit der Authentifizierung in zwei Schritten hinzuzufügen
- Der Fold-Ausdruck in noexcept generiert einen Syntaxfehler.
- Goldleiste im Anschluss an RPC-Ausnahme in StreamPipeReader.AdvanceTo: Kein Lesevorgang abzuschließen.
- SQL Server-Projekt stürzt beim Bearbeiten von Spalten über das Entwurfspanel ab.
- Visual Studio 2019 Preview: ssh+git://-Repository fragt keine Anmeldeinformationen ab, gibt aber einen Fehler aus.
- Std::enable_if entfernt den Konvertierungsoperator nicht aus der Überladungsgruppe.
- Die Pull Request-Seite funktioniert nicht.
- Problem mit Enable_if_t SFINAE
- Std::condition_variable::wait_for(0) hebt die Sperre nicht auf.
- Das Abrufen einer Adresse aus einer temporären Variable wird vom Compiler nicht erfasst.
- NullPointerException wird ausgelöst, wenn eine Klasse zusammen mit der Symboldatei umbenannt wird.
Bekannte Probleme
Unter dem folgenden Link können Sie sich über alle offenen Probleme und verfügbaren Problemumgehungen in Visual Studio 2019 informieren.
Feedback und Vorschläge
Wir freuen uns auf Ihr Feedback! Informieren Sie uns über die Option Ein Problem melden in der oberen rechten Ecke im Installer oder direkt in der Visual Studio-IDE über mögliche Probleme. Das befindet sich oben rechts. Sie können einen Vorschlag zu einem Produkt einreichen oder Ihre Probleme in der Entwicklercommunity für Visual Studio nachverfolgen, in der Sie auch Fragen stellen und nach Antworten suchen sowie neue Features vorschlagen können. Über unseren Livechatsupport erhalten Sie zudem kostenlose Hilfe bei der Installation.
Blogs
Profitieren Sie von den Einblicken und Empfehlungen auf der Webseite mit Blogs zu Entwicklertools, um sich bei allen Releases auf dem neuesten Stand zu halten und Zugang zu ausführlichen Beiträgen zu zahlreichen Funktionen zu erhalten.
Verlauf der Versionshinweise zu Visual Studio 2019
Weitere Informationen bezüglich der früheren Versionen von Visual Studio 2019 finden Sie auf der Seite Verlauf der Versionshinweise zu Visual Studio 2019.