Visual Studio 2019, Version 16.10: 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.
Neuerungen in Visual Studio 2019, Version 16.10
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.10
- 20. Juli 2021 – Visual Studio 2019, Version 16.10.4
- 29. Juni 2021: Visual Studio 2019, Version 16.10.3
- 15. Juni 2021: Visual Studio 2019, Version 16.10.2
- 08. Juni 2021: Visual Studio 2019, Version 16.10.1
- 25. Mai 2021: Visual Studio 2019, Version 16.10.0
Archivierte Versionsanmerkungen von Visual Studio 2019
- Visual Studio 2019, Version 16.9: Versionshinweise
- Visual Studio 2019, Version 16.8: Versionshinweise
- 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:
- Vorschau 1 für Visual Studio 2019 v16.10 und v16.11 ab heute verfügbar!
- Erweiterte Produktivität mit Git in Visual Studio
- Heute verfügbar! Visual Studio 2019 v16.9 und v16.10 Preview 1
- 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.
Visual Studio 2019, Version 16.10.5
Veröffentlichung: 10. August 2021
Zusammenfassung der Neuerungen in diesem Release von Visual Studio 2019 Version 16.10.5
Diese Version von Visual Studio 2019 ist nur über WSUS (Windows Software Update Service) verfügbar.
In diesem Release behobene Hauptprobleme
- Der iOS-Remotesimulator funktioniert jetzt ordnungsgemäß mit gekoppelten Mac-Geräten, auf denen Xcode 12.4 oder 12.5 installiert ist. Die folgenden Xcode-Simulatorfeatures sind nicht verfügbar, wenn eine Kopplung mit Mac-Geräten erfolgt, auf denen Xcode 12.4 oder höher installiert ist:
- Simulierte Arbeitsspeicherwarnung
- Simulierte Standorte
Sicherheitshinweis
CVE-2021-26423 Sicherheitsrisiko durch Denial-of-Service-Angriffe in .NET Core
Ein Denial-of-Service-Sicherheitsrisiko besteht, wenn .NET-Serveranwendungen (Core), die WebSocket-Endpunkte bereitstellen, beim Versuch, einen einzelnen WebSocket-Frame zu lesen, in Endlosschleifen geraten.
CVE-2021-34485 Sicherheitsrisiko bei der Veröffentlichung von Informationen in .NET Core
Ein Sicherheitsrisiko bei der Veröffentlichung von Informationen besteht, wenn vom Tool erstellte Speicherabbilder zum Erfassen von Absturzabbildern und Absturzabbildern bei Bedarf mit globalen Leseberechtigungen unter Linux und macOS erstellt werden.
CVE-2021-34532 Sicherheitsrisiko durch Veröffentlichung von Informationen in ASP.NET Core
Wenn ein JWT-Token protokolliert wird, weil es nicht analysiert werden kann, liegt ein Sicherheitsrisiko bezüglich der Veröffentlichung von Informationen vor.
Visual Studio 2019, Version 16.10.4
Veröffentlichung: 20. Juli 2021
Zusammenfassung der Neuerungen in diesem Release von Visual Studio 2019 Version 16.10.4
In diesem Release behobene Hauptprobleme
- Die Verwendung von in memset unzulässigen Registern wurde entfernt.
- Ein Codegen-Fehler mit komplizierten geschachtelten Ausdrücken beim bitweisen NOT-Operator wurde behoben.
- Debuggen von Shader wurde für VS-Grafikanalyse korrigiert.
- Ein IntelliSense-Absturz wurde behoben, der beim Verarbeiten statischer Datenmember in klasseninternen Vorlagenspezialisierungen aufgetreten ist.
- X64 VC Redistributable entfernt bei Ausführung mit /installer /passive-Optionen keine Laufzeitdateien mehr.
- Es wurde ein Problem behoben, bei dem die Reihenfolge der Suche nach Include-Elementen möglicherweise falsch ist, wenn „Include Directories“ vorangestellt wird.
- Wir haben ein Leistungsproblem und False Positives behoben, die durch eine der Überprüfungserweiterungen zum Ermitteln von Fehlern in falsch verwendeten VARIANT-Datentypen verursacht wurden.
- Wir haben ein Leistungsproblem behoben, das durch eine der Überprüfungserweiterungen zum Ermitteln von Fehlern in falsch verwendeten Enum-Werten als Index verursacht wurden.
- Es wurde eine Live Share-Sprachdienstkorrektur eingeführt, die wichtige Codebearbeitungsfeatures für Teilnehmer an Zusammenarbeitssitzungen wiederherstellt (z. B. Codevervollständigung, Syntaxhervorhebung oder Fehler).
- Die Parallelitätsanalyse sollte keine falschen C26110-Warnungen (Fehler beim Abrufen einer Sperre) mit automatischen Sperrmustern mehr generieren.
- C#- und Visual Basic-Compiler haben einen Absturz behoben, bei dem InternalsVisibleTo mit anderen Attributen auf Assemblyebene in Konflikt steht.
- Wir haben ein Problem behoben, das bei Kunden aufgetreten ist, die ihre Projekte mit Paketerstellungsprojekten für Windows-Anwendungen verpacken, z. B. WPF NetCore-Apps und Project Reunion-Apps:
Fehler: Ressourcendatei „...\obj\wappublish\win10-x86\project.assets.json“ wurde nicht gefunden. Führen Sie eine NuGet-Paketwiederherstellung aus, um diese Datei zu generieren. App4 (Paket) C:\Programme\dotnet\sdk\5.0.302\Sdks\Microsoft.NET.Sdk\targets\Microsoft.PackageDependencyResolution.targets 242
Dieses Problem wurde durch Packaging Project bei der Suche nach der Datei „project.assets.json“ im falschen Verzeichnis (win10-$(configuration)) verursacht, wenn wie in „win-$(configuration)“ gesucht werden sollte.
Aus der Entwicklercommunity
- Kompilierungsfehler für externe Header
- Falsche Sperrwarnungen von Analysetool C26110
- Interner Compilerfehler tritt nach dem Upgrade auf v16.10 Visual Studio auf, wenn eine Assembly im InternalsVisibleTo-Attribut deklariert wird
- „Vcredist_x64.exe“ (14.29.30038.0) in Visual Studio 16.10.2 entfernt fälschlicherweise „msvcp140.dll“ nach der zweiten Installation über die /passive-Option
- VS 16.10.1-Codegenerierungsproblem (nur x86)
- Address Sanitizer sollte das Auslösen von Absturzabbildern ohne Verwendung einer Umgebungsvariablen zulassen
- Grafikanalyse funktioniert nicht mehr, wenn nach Vertex-Shader auf das Dreieck geklickt wird, um das Debuggen des Shaders zu starten
- Vsftest: Testen von NMI
- Project Reunion-Veröffentlichungsproblem
- Das Tool in LKG12 WAVE2 benötigt Updates, bevor es ausgeliefert wird
- Aus einer WinUI 3-App kann kein MSIX-Paket erstellt werden
- Grafikdebugger: Das Debuggen des Shaders funktioniert nach dem Update auf 16.10.3 nicht mehr
- Eine WinUI 3-App kann nicht mit Project Reunion 0.8 gepackt werden
Visual Studio 2019, Version 16.10.3
Veröffentlicht: 29. Juni 2021
Zusammenfassung der Neuerungen in diesem Release von Visual Studio 2019 Version 16.10.3
In diesem Release behobene Hauptprobleme
- Behebung eines Problems, bei dem „Gehe zu Definition“ für Symbole, die aus Modulen importiert wurden, manchmal an den Anfang der Moduldatei und nicht zur Definition des Symbols springt.
- Es wurde ein Problem behoben, bei dem Entwickler mit Sehbehinderung Schwierigkeiten beim Identifizieren des Fokus auf dem Bildschirm haben, da das Helligkeitsverhältnis der Rahmenfarbe für das Textfeld kleiner als 3:1 ist.
- Behobenes Datenbankprojekt: Wenn Sie eine Datei aus dem Projektmappen-Explorer in eine geöffnete Datei ziehen, wird die Datei aus dem Dateisystem gelöscht.
- Es wurde ein Problem behoben, bei dem die Verwendung einer Mergeanweisung in Datenbankprojekten zu Buildfehlern führte.
- Es werden keine Pfade mehr an den Datenträger gesendet, wenn gemeldet wird, welche Erweiterungen installiert sind.
- Ein Problem wurde behoben, bei dem der Versuch, das Schnellstartfenster zu schließen, möglicherweise zu einem Absturz von Visual Studio führt.
- Es wurde ein Problem behoben, bei dem die Anzeige von Toolfenstern manchmal zum Absturz von VS führte.
- Korrektur für „Bearbeiten und fortfahren“ in C++ im Benutzercode, wenn nicht verknüpfte, von G++/GCC generierte Symbole in die Anwendung geladen werden.
- Behebt die Verwendung privater Selektoren aus dem iAd-Framework.
- Es wurde ein Absturz in VS behoben, der auf Fehler im XAML-Designer beruht.
- Es wurde ein Problem behoben, bei dem Windows-Anwendungspaketprojekte, die auf NETCOREAPP-Projekte verweisen, eine MSIXBUNDLE-Datei generieren.
- Es wurde ein Fehler mit der Durchführung einer schnellen Aktualitätsüberprüfung für WAP-Projekte behoben, die dazu geführt hat, dass diese Projekte erstellt wurden (anstatt übersprungen zu werden), auch wenn das Projekt auf dem neuesten Stand ist und keine Änderungen benötigt. Dies führt zu höheren inkrementellen Buildzeiten in der IDE.
Aus der Entwicklercommunity
[C++, IntelliSense, 16.7.7]
Die Größe des Memberfunktionzeigers ist in der QuickInfo falsch.- 16.9.2 reagiert beim Arbeiten an SQL Server-Projekt nicht mehr.
- C++20 IntelliSense gibt falsche Fehler mit range-v3 Version 0.10.0 aus.
- IntelliSense-Problem mit Modulen
- Xamarin Forms iOS SkiaSharp DirectoryNotFoundException
- Problem mit dem Release-Editor der Version 16.10.0: Es ist nicht mehr möglich, im Code mithilfe des Elementkombinationsfelds zu navigieren.
- C++ 20-Module: Wenn Sie auf „Gehe zu Deklaration“ klicken, ist die Sprungposition des Cursors falsch.
- Die Option „Gerätecodefluss beim Hinzufügen eines Kontos aktivieren“ fehlt in v16.10.
- VS 2019 16.10.0 PackageInspectionFailed: Fehler beim Laden von „Info.plist“ aus dem Paket: Datei oder Verzeichnis nicht vorhanden.
- App Store-Paket enthält 32-Bit-Dateien.
- 16.10.2 stellt keine Verbindung mit Mac her.
- vsftest: Testen von NMI
Visual Studio 2019, Version 16.10.2
Veröffentlicht: 15. Juni 2021
Zusammenfassung der Neuerungen in diesem Release von Visual Studio 2019, Version 16.10.2
In diesem Release behobene Hauptprobleme
- Die Parallelitätsprüfungen in der Codeanalyse sind jetzt intelligenter. Sie lassen sich schwieriger durch komplexe Ablaufsteuerung täuschen.
- Durch diese Korrektur wird das Verhalten für externe Header wiederhergestellt, indem die Analyse externer Header übersprungen und Warnungen von externen Headern unterdrückt werden.
- Fehler in ASPX-/ASCX-Dateien mit möglicherweise unvollständigem IntelliSense oder schlechter Leistung behoben.
- Es wurden Skalierbarkeitsprobleme mit dem Unity CodeLens-Anbieter bei der Arbeit an großen Projekten behoben.
- Übersetzte Zeichenfolgen wurden auf der Optionsseite für Azure-Dienstauthentifizierung erneut instanziiert.
- Zeitweilige Probleme bei der Anzeige von visuellem Code bei der Verwendung der Resharper-Erweiterung wurden behoben.
- Es wurde ein Problem behoben, bei dem bestimmte Toolfenster, Editoren und Designer zu klein gerendert wurden, um Inhalte anzuzeigen.
- Behebt Probleme mit fehlenden App-Symbolen für Xamarin iOS, entweder beim Ausführen einer App oder beim Versuch, sie im App-Store zu veröffentlichen.
- Das Erstellen von Projekten mit AOT+LLVM schlägt nicht mehr mit einem XA3001-Fehler fehl.
- Nach dem Upgrade auf Visual Studio 2019, Version 16.10, kann die Veröffentlichung von UWP-Apps unter bestimmten Umständen mit der Fehlermeldung „Der angegebene Ressourcenname wurde in der Imagedatei nicht gefunden“ fehlschlagen. Dieses Problem wurde nun behoben.
- Es wurde ein Problem behoben, bei dem Visual Studio 2019 nicht mehr reagiert hat, wenn sich die Gerätekonfiguration ändert.
- Drei Probleme in MSBuild behoben:
- Vermeidet MSB4017-Fehler beim Erstellen in Azure DevOps.
- $(
[MSBuild]
::MakeRelative()) behält wieder nachgestellte Schrägstriche in der Eingabe bei. - Globs mit nachstehendem **-Muster erneut ausschließen, Dateien ohne ausschließen. characters
Aus der Entwicklercommunity
- Die Entwicklercommunity verfügt über eine vollständige Liste aller Neuerungen, die in dieser Version enthalten sind.
- ClickOnce veröffentlicht kein Projekt.
- ClickOnce-Veröffentlichung für .NET 5.0 schlägt fehl, wenn SelfContained=true und das Projekt auf ein anderes Projekt verweist.
- ClickOnce funktioniert nicht mehr.
- ClickOnce-Veröffentlichung: Die Metadatendatei wurde nicht gefunden (falsches Verzeichnis), Veröffentlichung funktioniert für CLI.
- ClickOnce versucht, beim Veröffentlichen Bibliotheken aus dem falschen Ordner zu verwenden! (.Net 5)
- Nach dem Update funktioniert ClickOnce von Visual Studio 2019 Version 16.10.0 nicht.
- Buildregression in 16.10.0 mit EWDK
- Fehler bei der Veröffentlichung.
Visual Studio 2019, Version 16.10.1
Veröffentlicht: 08. Juni 2021
Zusammenfassung der Neuerungen in diesem Release von Visual Studio 2019 Version 16.10.1
In diesem Release behobene Hauptprobleme
- Es wurde ein Problem behoben, das einen Absturz mit dem IntelliSense-Compiler verursacht hat.
- Es wurde ein Problem behoben, das bewirken kann, dass Visual Studio 2019-Instanzen geschlossen werden, wenn der Test-Explorer in der Projektmappe geöffnet ist.
- Es wurde ein Fehler behoben, bei dem Entwickler Teillösungen über die Befehlszeile erstellen.
- Es wurde ein Fehler in der ClickOnce-Veröffentlichung für .NET Core-Anwendungen behoben.
- Behebt ein Problem, bei dem das Aufruflistenfenster zu einem Absturz von Visual Studio 2019 führen kann.
- Behebt beim Erstellen von iOS-Bindungsprojekten den Buildfehler „Metadatendatei '***\bin\Debug\NativeLibrary.dll' wurde nicht gefunden“.
Sicherheitshinweis
CVE-2021-31957: Sicherheitsrisiko durch Denial-of-Service-Angriffe in ASP.NET
Ein Denial-of-Service-Sicherheitsrisiko besteht, wenn ASP.NET Core Clienttrennungen nicht ordnungsgemäß verarbeitet.
Aus der Entwicklercommunity
- Die Entwicklercommunity verfügt über eine vollständige Liste aller Neuerungen, die in dieser Version enthalten sind.
- Buildregression in 16.10.0 mit EWDK
Visual Studio 2019, Version 16.10.0
Veröffentlicht: 25. Mai 2021
Zusammenfassung der Neuerungen in diesem Release von Visual Studio 2019 Version 16.10.0
C++
- Alle C++20-Features sind jetzt unter dem
/std:c++latest
-Schalter verfügbar. Während die MSVC-Implementierung der C++20-Standards (wie derzeit von ISO veröffentlicht) bezüglich der Features abgeschlossen ist, werden einige wichtige C++20-Bibliotheksfeatures durch bevorstehende Fehlerberichte (ISO C++20-Fehlerbehebungen) ergänzt, die sie möglicherweise in einer ABI-inkompatiblen Weise ändern. Weitere Informationen finden Sie unter Microsoft/STL-Problem 1814.- C++20-Sofortfunktionen und Konstinit-Unterstützung in 16.10 hinzugefügt
- Die letzten Teile von
<chrono>
: neue Uhren, Schaltsekunden, Zeitzonen und Analyse - Implementierung von
<format>
für die Textformatierung
/openmp:llvm
ist jetzt zusätzlich zu x64 unter x86 und ARM64 verfügbar- Include-Verzeichnisse können jetzt als extern mit benutzerdefinierten Kompilierungswarnungsstufen und Codeanalyseeinstellungen festgelegt werden.
- Der
/await:strict
-Schalter wurde hinzugefügt, um Co-Routinen im C++20-Stil in früheren Sprachmodi zu aktivieren. - Die Debugger-Visualisierung von
std::coroutine_handle<T>
zeigt jetzt den ursprünglichen Co-Routine-Funktionsnamen und die Signatur sowie den aktuellen Haltepunkt an. - Unterstützung für CMakePresets wurde hinzugefügt.
- Beim Hinzufügen einer neuen Remoteverbindung in Visual Studio müssen Sie den Fingerabdruck des Hostschlüssels, der vom Server angezeigt wird, annehmen oder ablehnen.
- Hinzufügen eines
/external
-Schalters zu MSVC, um Header zu spezifizieren, die zu Warnzwecken als extern behandelt werden sollten.
- Die Fähigkeit, ein Startprofil zu erstellen, das konfiguriert, welche Dienste in Ihrer Compose-Datei gestartet werden sollen.
- Die Möglichkeit, eine Abbildung zu markieren.
- Es wurde eine Mengen-Registerkarte für Container hinzugefügt.
- Es wurde eine Etiketten-Registerkarte für Container hinzugefügt.
- Es wurde eine Etiketten-Registerkarte für Abbildungen hinzugefügt.
- Die Container werden jetzt gemäß des Compose-Projekts gruppiert.
Editor
- Für Leute, die weniger Enge bevorzugen, kann der Zeilenabstand geändert werden, indem Sie in der Visual Studio-Suche nach „Zeilenabstand" suchen (Strg+Q). Die Option ist unter Text-Editor \ General (Allgemein) zu finden.
- Die Suche in Dateien und die Suche in allen Verweisen verfügen über ein Steuerelement, um Ergebnisse beizubehalten. Basierend auf dem Feedback unserer Gemeinschaft haben wir eine Option hinzugefügt, mit der Sie die Option „Ergebnisse beibehalten" standardmäßig umschalten können. Sie finden diese Option, indem Sie in der Visual Studio-Suche nach „Suchergebnisse standardmäßig beibehalten“ suchen (Ctrl+Q). Die Option befindet sich unter Umgebung (Environment) \ Suchen und Ersetzen. Beachten Sie bitte, dass Benutzer zurzeit auf 5 Ergebnisse für die Suche in Dateien und 5 weitere Ergebnisse für „Alle Verweise suchen“ beschränkt sind.
- Die neue Option „In Dateien suchen“ ermöglicht Benutzern das Ausführen zusätzlicher Suchvorgänge und das Hinzufügen dieser Ergebnisse an eine vorherige Suche.
Erweiterbarkeit des Editors
- Das Verhalten des Codes, der IntraTextAdornmentTags verwaltet, hat sich verändert. Mit dieser Änderung müssen Sie genau wie bei jedem anderen ITagger ein Ereignis zur Tag-Änderung erstellen, wenn sich die zugrunde liegenden Tags ändern. Andernfalls werden Ihre Tags möglicherweise nie aktualisiert.
- Diagnoseanalyse von Speicherabbildern umfasst nun verwaltete Linux-Core Dumps.
- Wechseln Sie mit Deep Links zum Web, um eine neue Pull-Anforderung zu erstellen und PRs auf GitHub oder Azure DevOps über das Git-Menü anzuzeigen.
- Checken Sie lokale und entfernte Verzweigungen mit einer einzigen Auswahl in der Verzweigungsauswahl aus.
- Entfernen Sie Elemente aus der Repository-Auswahl über das Kontextmenü.
- Aktivieren Sie das automatische Laden der Projektmappe, wenn Sie ein Git-Repository über Git > Einstellungen öffnen.
- Schalten Sie das Verhalten des Doppelklicks um, um Verzweigungen aus dem Git-Repository-Fenster über Git > Einstellungen zu überprüfen.
- Synchronisieren (Pullen und dann Pushen) Ihrer Verzweigung mit mehreren Remote-Standorten aus dem Überlaufmenü des Git Changes-Fensters.
- Passen Sie die sichtbaren Symbolleistenaktionen des Git-Änderungsfensters (Abrufen, Pullen, Pushen, Synchronisieren) über das Überlaufmenü an.
- Öffnen Sie Ihr Repository im Browser über das Überlaufmenü des Git Changes-Fensters.
- Suchen und überprüfen Sie lokale und entfernte Zweige über die Statusleiste.
- Suchen und schalten Sie über die Statusleiste zwischen den lokalen Git-Repositorien.
- Ein Problem wurde behoben, bei dem die Liste der lokalen Repositorien im Git-Menü beim Start von Visual Studio nicht geladen wurde.
- Fügen Sie beim Öffnen eines Repositoriums verschachtelte Projekt-Sub-Repositorien zur Liste der lokalen Repositorien hinzu.
- Halten Sie die Lösung beim Umschalten von Repositorien über die Funktion „Git > Einstellungen" offen.
- Deaktivieren Sie das Öffnen von Ordnern beim Öffnen von Repositorien über Git > Einstellungen.
- Synchronisieren Sie Ihren Zweig mit dem Remote-Zweig über die nicht-betätigte Schaltfläche für Übertragungen in der Statusleiste und über den Befehl „Sync" im Git-Menü.
- Holen und ziehen Sie aus dem Verlaufsbereich des Git-Repositorium-Fensters, auch wenn keine eingehenden Übertragungen vorhanden sind.
- Zeigen Sie die Übertragungs-Details und den Vergleich der Datei-Änderungen an, die in das Fenster des Git-Repositoriums eingebettet sind.
- Stellen Sie automatisch die Verbindung oder Aufforderung zum Aufbau der ersten Azure DevOps-Verbindung beim Öffnen eines Azure DevOps-Git-Repositoriums wieder her.
- Führen Sie zusammen und umgestalten Sie mit sichtbaren Branchennamen, indem Sie die irreführende Quell-/ Ziel-Terminologie ersetzen.
- Verbesserte Leistung und Zuverlässigkeit für Symbole der Quellcodeverwaltung im Projektmappen-Explorer.
- Beibehalten eingehender/ausgehender Abschnitte auch in leerem Git-Repositoryfenster.
- Konsolidierte Fetch/Pull/Push-Dropdownlisten für mehrere Remotes im Git-Änderungsfenster in ein einzelnes Aktionsmenü.
- Argumentfertigstellung in Methodenaufrufen
- EditorConfig Benutzeroberfläche (UI)
- Visuelles Überprüfen und Navigieren in der Vererbungskette
- IntelliSense-Vervollständigung für Umwandlungen, Indexer und Operatoren
- Debugger-Unterstützung für Quell-Generatoren
- Unterstützung für Codebereinigung für Visual Basic
- Aktualisierungen bearbeiten und fortfahren (EnC)
- Entfernen nicht verwendeter Verweise
- Smart Break Line (Intelligenter Umbruch)
- Vereinfachen des Refactorings von LINQ-Ausdrücken
- IntelliSense-Vervollständigung für Enumerationswerte
- Einstellung für IntelliSense-Vervollständigungsmodus
- Codestileinstellung für neue Zeilen
- Unterstützung von „Alle Verweise suchen“ für Quell-Generatoren
Razor (ASP.NET Core) Vorschau-Editor
- Aktualisierungen der IntelliSense-Vervollständigung
- Gehen Sie zu Definitionsunterstützung für allgemeine Komponenten
- Neue Code-Stil-Konfiguration für Tabulatoren und Leerzeichen
- Der Razor-Texteditor in den Extras-Optionen wird jetzt als Razor (ASP.NET Core) bezeichnet
Testerfahrung Zugriffs-Verbesserungen
- Console.Writeline wird nun im Test-Explorer angezeigt
- Das Testresultat kann nun Tags beibehalten, so dass Hyperlinks und Stacktrace-Verknüpfungen auch aus den Protokolldateien heraus navigierbar sind.
- Protokolldateien werden für ein einzelnes Testergebnis erstellt, wenn die Ausgabe mehr als 300 Zeichen umfasst oder wenn mehr als 10 Dateien an das Testergebnis gebunden sind.
- Protokolldateien können jetzt auch in der Vorschau geöffnet werden, so dass Sie Ihre Registerkarten einfacher verwalten können.
- Die Protokolldateien und der Test-Explorer unterstützen Ctrl PgUp/PgDn zum Navigieren des Cursor und Shift+Ctrl PgUp/PgDn zur Auswahl.
- Der Protokolldatei-Editor verwendet jetzt die IVsTextView-Schnittstelle. Dies bedeutet, dass er nun auch sehr große Textdateien öffnen kann. Dadurch entfällt die Notwendigkeit, dass Benutzer
Copy All
Protokolle abkürzen und in einem separaten Editor (z. B. Notepad) öffnen müssen. Für den MSTest ist nun auch eine einzige Protokolldatei verfügbar, welche die gesamte Ausgabe hinzufügt, anstatt nur einzelne Protokolldateien für jede Datenzeile aufzuweisen. - Sie können jetzt plattformübergreifende Code Coverage über die Befehlszeile unter Ubuntu und Alpine mit der Dotnet-ClI erhalten. Für Benutzer, die Code Coverage auf Computern für diese Plattformen erhalten möchten, können Sie jetzt die gleichen Code Coverage-Sammlungsbefehle hinzufügen, die Sie normalerweise unter Windows verwenden würden. Weitere Informationen finden Sie in der Dokumentation zu dotnet test.
- Im Test-Explorer befindet sich nun neben der Schaltfläche „Alle reduzieren“ eine Schaltfläche zum Erweitern aller Schaltflächen. Dieser Befehl war über Tastenkombinationen (STRG+A, STRG+NACH-RECHTS-TASTE) verfügbar, aber das weitere Feedback hat dazu geführt, dass das Hinzufügen einer Schaltfläche die zusätzliche Benutzeroberfläche rechtfertigt. Wie immer vielen Dank, dass Sie uns über https://developercommunity.visualstudio.com/ wissen lassen, was Sie denken.
- Es gibt auch einige geringfügige Änderungen daran, wie der Test-Explorer „veraltete Ergebnisse“ anzeigt. „Veraltete Ergebnisse“ sind die ausgegrauten oder „abgeblendeten“ Testergebnisse, die darauf hinweisen, dass das Ergebnis nicht aus dem letzten Testlauf stammt. Wenn ein Ergebnis nicht Teil des letzten Testlaufs ist, wird es als veraltet angezeigt. Zuvor wurden neue Testergebnisse (oder sogar alte Testergebnisse, die neu erkannt wurden) ebenfalls mit soliden Symbolen angezeigt. Dies führte zu Verwirrung darüber, warum einige „nicht ausgeführte“ Tests abgeblendet wurden und andere nicht. Durch diese Änderung wird die Komplexität veralteter Ergebnisse reduziert.
- Mit dem Feature für persistente Testergebnisse (hinzugefügt in Version 16.2) können Sie die Testergebnisse des letzten Testlaufs auch dann sehen, wenn Sie Visual Studio geschlossen und dann erneut geöffnet haben. Dadurch können sich Benutzer besser merken, wo sie aufgehört haben, und bietet mehr Kontext, ohne dass ein weiterer Testlauf erforderlich ist. Wir haben auch das Verhalten von persistenten Ergebnissen geändert, sodass sie immer veraltet erscheinen. Dies gibt besser an, dass sie nicht aus einem Testlauf stammen, der während der aktuellen Visual Studio-Sitzung ausgeführt wurde.
- Wechsel zu V2-API für Azure AD-Bereitstellung
- Azure-App-Konfiguration als verbundener Dienst unterstützt jetzt die dynamische Konfiguration
Paketerstellungsprojekt für Windows-Anwendungen „Abhängigkeitsstruktur“
- Eine „Abhängigkeitsstruktur“ wurde zum WAP-Projekt hinzugefügt
- Verbessertes XAML IntelliSense und XAML Hot Reload für Kunden von Xamarin.Forms
- Einführung von XAML-Beispieldaten für ausgewählte ItemsControls in WPF
- Neue Glühbirne für den schnellen Zugriff auf häufig bearbeitete Eigenschaften hinzugefügt
- Neue Glühbirne im XAML-Editor hinzugefügt, um ein view-model zu erstellen
- Einführung von „StartupServices.xml“ in Service Fabric-Anwendungen
Details zu den Neuerungen in Visual Studio 2019 Version 16.10
Docker-Tools
Toolfenster für Container
In dieser Version haben wir dem Container-Toolfenster Ergänzungen hinzugefügt, um die Anzeige und die Interaktion von Containern und Abbildungen zu vereinfachen. Navigieren Sie einfach zu Ansicht > Andere Fenster > Container, um die neuen Funktionen auszuprobieren.
- Die Container werden jetzt gemäß des Compose-Projekts gruppiert. So können Sie einfach erkennen, welche Container Ihre Anwendung darstellen. Wie zusätzlich angezeigt, haben wir eine Registerkarte „Etiketten" in Containers hinzugefügt, damit Sie während der Entwicklung leicht sehen können, welche Etiketten Sie verwenden.
- Außerdem fügten wir eine Etiketten-Registerkarte für Abbildungen hinzugefügt.
- Anhand der „neue Volumen“-Registerkarte können Sie die Volumen eines Containers in Betrieb anzeigen und die Dateien sogar in Visual Studio öffnen.
- Wir unterstützen jetzt auch die Fähigkeit, eine Abbildung aus dem Container-Toolfenster zu etikettieren. In Abbildungen, rechtsklicken Sie auf eine Abbildung und wählen Sie Etikettieren aus.
Compose
- Das Docker Compose-Tooling in Visual Studio bietet jetzt die Möglichkeit, eine beliebige Kombination von Diensten auszuführen, die in Ihren Compose-Dateien definiert sind. Öffnen Sie entweder das Dropdown-Menü „Debug“ oder klicken Sie mit der rechten Maustaste auf Ihr Docker-Compose-Projekt und wählen Sie „Docker Compose-Starteinstellungen verwalten“, um zu beginnen.
Git-Produktivität
- Um das Erstellen von Pull-Anforderungen zu erleichtern, während Sie sich in Visual Studio befinden, haben wir Menüpunkte hinzugefügt, die Deep-Link-Verknüpfungen zu den Webseiten sind, die es Ihnen ermöglichen, einen PR zu erstellen oder eine Liste von PRs für Ihr Repository anzusehen. Das Menü ist dynamisch, abhängig davon, ob sich Ihr Repository auf GitHub oder Azure DevOps befindet.
- Die Verzweigungsauswahl in der Statusleiste und im Fenster Git-Änderungen überprüft jetzt einen lokalen oder Remoteverzweigung, wenn Sie die Verzeigung einzeln auswählen. Weitere Aktionen finden Sie im Kontextmenü.
- Der neue Repository-Picker in der Statusleiste verfügt über ein Kontextmenü bei Rechtsklick, mit dem Sie Elemente aus der Liste entfernen können.
Wenn Sie die Repository-Auswahl oder die Liste „Lokale Repositorys“ im Git-Menü verwenden, wird beim Öffnen eines Repositorys die Projektmappe nicht mehr automatisch geladen. Stattdessen werden die Ordneransicht und die Projektmappe in einer Liste angezeigt, aus der Sie auswählen können. Sie können dieses Verhalten über Git > Einstellungen ändern, indem Sie das Kontrollkästchen umschalten.
Sie können eine Verzweigung im Fenster Git-Repository auschecken, indem Sie auf den Verzweigungsnamen doppelklicken. Wenn Sie dieses Verhalten ändern möchten, aktivieren Sie das Kontrollkästchen in Git > Einstellungen.
- Sie können jetzt noch mehr Aktionen im Git-Fenster für Änderungen durchführen. Die Symbolleistensymbole sind anpassbar, und Sie können auswählen, welche Aktionen angezeigt werden sollen. Sie können die Synchronisierung mit mehreren Remotecomputern über das Überlaufmenü verwenden. Außerdem können Sie die Remote-Webseite Ihres Repositorys im Browser öffnen.
- Lokale und Remote-Zweige durchsuchen und allgemeine Zweigaktionen aus der Zweigauswahl der Statusleiste ausführen.
- Suchen und wechseln Sie zwischen lokalen Git-Repositorien mittels der Repositorium-Auswahl in der Statusleiste.
- Ein Problem wurde behoben, bei dem die Liste der lokalen Repositorien im Git-Menü beim Start von Visual Studio nicht geladen wurde.
- „Git > Settings“ wurde um zwei neue Optionen erweitert, um das Öffnen von und das Umschalten zwischen Repositorien zu verwalten. Sie können nun die aktuelle Projektmappe geöffnet lassen, wenn Sie zu einem anderen Repositorium wechseln
- Beim Öffnen eines Repositoriums können Sie auch auswählen, dass der Repositorium-Stammordner nicht geladen werden soll.
- Synchronisieren (ziehen und anschließendes pushen) Ihres Zweiges mit dem „Remote“-Zweig anhand der nicht-gepushten Commit-Schaltfläche in der Statusleiste und über den Sync-Befehl im Git-Menü.
- Holen und ziehen Sie aus dem Verlaufsbereich des Git-Repositorium-Fensters, auch wenn keine eingehenden Übertragungen vorhanden sind. Greifen Sie in der Statusleiste oder mit der Tastenkombination Ctrl+0+Y auf diese Bereiche zu.
- Wählen Sie im Git-Repositorium-Fenster einen Commit aus, um seine Details und den Vergleich von Dateiänderungen anzuzeigen, ohne zu anderen Fenstern navigieren zu müssen. Wählen Sie zwei Commits aus, und klicken Sie mit der rechten Maustaste, um sie im selben Fenster zu vergleichen. Rufen Sie die Details in ihrem eigenen Fenster aus, um die Änderungen im Vollbildmodus genau zu begutachten.
- Zeigen Sie die Anzahl der Löschungen und Einfügungen in einer Datei an und ändern Sie das Layout des Vergleichs.
- Stellen Sie automatisch die Verbindung oder Aufforderung zum Aufbau der ersten Azure DevOps-Verbindung beim Öffnen eines Azure DevOps-Git-Repositoriums wieder her. Dies ermöglicht den Zugriff auf Arbeitselemente und Strukturen für das geöffnete Repositorium.
">
- Beim Lösen von Vergleichs-oder Zusammenführungs-Konflikten werden im Zusammenführungs-Editor und im Kontextmenü die Zweignamen für die aktuellen und eingehenden Zweige angezeigt. Damit wird die verwirrende Quellen-und Zielterminologiekorrigiert.
.NET-Produktivität
- Wir haben einen Befehl zum Entfernen nicht verwendeter Verweise hinzugefügt, mit dem Sie Projektverweise und NuGet-Pakete bereinigen können, die nicht verwendet werden. Diese Option ist standardmäßig deaktiviert. Daher müssen Sie sie unter Extras>Optionen>Text-Editor>C#>Erweitert aktivieren und den Befehl „Nicht verwendete Verweise entfernen“ im Projektmappen-Explorer (experimentell) auswählen. Sobald die Option aktiviert ist, wird der Befehl Nicht verwendete Verweise entfernen im Kontextmenü eines Projektnamens oder Abhängigkeitsknotens im Projektmappen-Explorer angezeigt:
Durch Auswahl von Nicht verwendete Verweise entfernen wird ein Dialogfeld geöffnet, in dem Sie alle zu entfernenden Verweise mit einer Option zum Beibehalten der Verweise anzeigen können, die Sie nicht entfernen möchten:
- Wir haben einen neuen Befehl mit dem Namen Smart Break Line (Intelligenter Umbruch) hinzugefügt, der automatisch einen Satz geschweifter Klammern einfügt und die Einfügemarke in diesen geschweiften Klammern positioniert, wenn UMSCHALT+EINGABETASTE als Commitzeichen verwendet werden. Smart Break Line (Intelligenter Umbruch) funktioniert für alle Typdeklarationen, die geschweifte Klammern erfordern, sowie für Eigenschaften, Ereignisse, Felder und Objekterstellungsausdrücke. Das folgende Beispiel zeigt Smart Break Line für eine Klasse und ein Feld. Wenn das Feld am Ende kein Semikolon aufweist, wird das Feld durch Eingabe von UMSCHALT+EINGABETASTE in eine Eigenschaft konvertiert, indem ein Satz von geschweiften Klammern hinzugefügt wird. Sie können UMSCHALT+EINGABETASTE erneut drücken, um den Commit rückgängig zu machen, wodurch am Ende des Felds automatisch ein Semikolon hinzugefügt wird:
- Es gibt jetzt ein Refactoring zur Vereinfachung von LINQ-Ausdrücken, das den unnötigen Aufruf des Enumerable-Elements für die .Where ()-Methode überflüssig macht, um Leistung und Lesbarkeit zu verbessern. Platzieren Sie Ihren Cursor auf dem LINQ-Ausdruck. Drücken Sie (Ctrl+. ), um das Menü Schnellaktionen und Refactorings zu öffnen. Wählen Sie LINQ-Ausdruck vereinfachen aus.
- Es gibt jetzt IntelliSense-Vervollständigung für Enumerationswerte, wenn ein Typ bekannt ist, auch wenn der Enumerationsname nicht eingegeben wird.
- Wir haben eine neue IntelliSense-Vervollständigungsmoduseinstellung hinzugefügt, mit der Sie standardmäßige Vervollständigungsoptionen festlegen können. Diese neue Einstellung ist unter Extras>Optionen>Text-Editor>Erweitert>Standardmodus für IntelliSense-Vervollständigung verfügbar. Sie können unter den folgenden Optionen wählen: Zuletzt verwendet, wobei die zuletzt verwendete Einstellung mit STRG+ALT+LEERTASTE beibehalten wird, Nur Tabulator, wobei nur mit Tabulator vervollständigt wird, und Automatisch, was derzeit das Standardverhalten ist, das bei Satzzeichen und Sonderzeichen vervollständigt.
- Wir haben neue Codestileinstellungen für neue Zeilen hinzugefügt. Sie können diese Einstellungen mit einer EditorConfig-Datei oder unter Extras>Optionen>Text-Editor>C#>Codestil>Einstellungen für neue Zeile (experimentell) konfigurieren.
Sie können z. B. die Einstellung für den Codestil so festlegen, dass eine Diagnose gemeldet und eine Codekorrektur zum Entfernen zusätzlicher leerer Zeilen angeboten wird:
Es gibt jetzt Unterstützung für „Alle Verweise suchen“ für Quell-Generatoren, mit der Sie Verweise in einem quellgenerierten Dokument ermitteln können.
Es ist jetzt eine Vervollständigungsoption verfügbar, die beim Schreiben eines Methodenaufrufes automatisch Argumente einfügt. Diese Funktion ist standardmäßig deaktiviert. Sie müssen sie also unter „Extras > Optionen > Text-Editor > C# > IntelliSense“ aktivieren und zweimal die Tabulatortaste drücken, um Argumente einzufügen (experimentell). Beginnen Sie einen Methodenaufruf zu schreiben und drücken Sie zweimal die Tabulatortaste (Tab+Tab). Beachten Sie, dass der Methodenaufruf Argumente enthält, die auf den Standardwerten der Methode basieren. Anschließend können Sie die Parameterinformationen verwenden, um durch Drücken der Nach-Unten-Taste und der Nach-Oben-Taste die Liste der Argumente zu durchlaufen, die eingefügt werden sollen. Sie können auch beginnen, ein Argument einzugeben, um die IntelliSense-Vervollständigungsliste aufzurufen und einen Semikolon einzugeben, wonach ein Commit für das Argument durchgeführt wird, und am Ende des Methodenaufrufes ein Semikolon hinzugefügt wird.
- Wir haben eine Benutzeroberfläche (UI) für EditorConfig erstellt. Öffnen Sie eine beliebige C#- oder Visual Basic EditorConfig-Datei aus Ihrer Lösung. Beachten Sie, dass die neue Benutzeroberfläche die Konfigurationsoptionen für Code-Stil und Code-Qualität sowohl für C# als auch für Visual Basic anzeigt.
- Es ist jetzt eine visuelle Darstellung zum Navigieren und Überprüfen der Vererbungskette vorhanden. Diese Option ist standardmäßig deaktiviert, so dass Sie diese unter „Extras > Optionen > Text-Editor > C# > Erweitert“ aktivieren und „Vererbungsmarge anzeigen“ auswählen müssen. Wenn Sie die Vererbungsmarge aktivieren, werden den Margen, welche die Implementierungen und Deaktivierungen Ihres Codes darstellen, neue Symbole (Icons) hinzugefügt. Wenn Sie auf das Symbol der Vererbungsmarge klicken, werden wählbare Vererbungsoptionen angezeigt, zu denen Sie navigieren können.
- Es sind nun IntelliSense-Fertigstellung für Umwandlungen, Indexer und Operatoren vorhanden.
- Es ist nun Debugger-Unterstützung für Quellengeneratoren vorhanden. Sie müssen zuerst die .NET Compiler Platform SDK-Komponente aus dem Visual Studio-Installer installieren. Anschließend müssen Sie ihrer Projektdatei die
<IsRoslynComponent>
true</IsRoslynComponent>
-Eigenschaft hinzufügen. Sie müssen zunächst die Debuggeroption „Roslyn Component“ auf der Seite zum Debuggen von Projekteigenschaften aktivieren und das entsprechende Zielprojekt auswählen. Anschließend drücken Sie F5 am Generator-Projekt, wodurch die CSC.exe/VBC.exe gestartet wird, die das Zielprojekt erstellt, so dass Sie den Generator-Code debuggen können.
In dieser Version wurden die folgenden Verbesserungen des Debugging-Verfahrens für das Bearbeiten und Fortfahren (EnC) in Visual Studio hinzugefügt:
- Es ist nun möglich, Änderungen im Code zu übernehmen, der sich innerhalb einer partiellen Klasse befindet.
- Sie können jetzt Änderungen innerhalb einer quellengenerierten Datei vornehmen.
- Es ist jetzt möglich, eine using-Anweisung hinzuzufügen und/oder zu ändern.
- Erhöhte Zuverlässigkeit und geringerer Speicherverbrauch.
Alle drei Änderungen sind überall dort verfügbar, wo EnC heute unterstützt wird und funktionieren sowohl mit C#- als auch mit Visual Basic-Quelldateien.
Debugger und Diagnose
- Wir haben verschiedene Analysetools entwickelt, um häufige Probleme in verwalteten Speicherabbildern zu erfassen. Diese Analyse kann nun für verwaltete Linux-Core Dumps ausgeführt werden.
Vielen Dank
Zu guter Letzt möchten wir uns bei den folgenden Personen bedanken, die in diesem Monat zur .NET-Produktivität beigetragen haben (alias Roslyn):
- Valery (@m08pvv): Bedingung für die Schleifeninvarianz PR #52168
- Martin Strecker (@MaStr11): Unterstützung des Inlinings von anderen interpolierten Strings PR #49229, IntelliSense für Umwandlungen, Indexer und Operatoren PR #47511
- Bernd Baumanns (@bernd5): Korrigierter „Informationsverlust“ verursacht anhand der Verwendung vom Standard in SyntaxNode-Update-Methoden PR #52036, korrigierte NormalizeWhitespace-String-Interpolation mit Initialisierungsausdrücken PR #51213
- C-xC-c (@C-xC-c): Datensatzgleichheitsparameter umbenennen in ‘links’ und ‘rechts’ PR #51973
- Kai Jellinghaus (@HurricanKai): Änderung der Kompilation.CommonSyntaxTrees, um ImmutableArray zu verwenden PR #51905
- Huo Yaoyuan (@huoyaoyuan): Externe Methoden bei der Namensgebung ignorieren PR #51728, Behebung von NRT-Problemen, die anhand der Ausrichtung auf net5.0 gefunden wurden PR #50895
- Alireza Habibi (@alrz): Das Parsen von geklammerten Mustern korrigieren PR #49621
- Paul M Cohen (@paul1956) Die Unterstützung von Code Cleanup für Visual Basic hinzufügen PR #48092
- Petr Onderka (@svick): DocumentationCommentCompiler nach NormalizeWhitespace aktivierenPR #47360
- Youssef Victor (@Youssef1313): Aktualisierung der IDEDiagnosticIDConfigurationTests, so dass sie exklusiv statt inklusiv sind PR #52078, Obsoleter ImportingConstructor PR #52073, Konsistentes ContainsSyntaxTree-Verhalten zwischen VB und C# PR #52050, Sicherstellen, dass die Bezeichnung des Arguments angezeigt wird PR #52016, Die Null-Anmerkung von SyntaxFactory.UsingStatementkorrigierenPR #51984, CSharpRequiredLanguageVersion vereinfachen PR #51881, Effektive Sprachversion für #Fehlerversion anzeigen PR #51880, SymbolEqualityComparer.IncludeNullability docs PR #51724, Aufnahme von Quellengeneratoren in TryGetMethodDescriptorAsync PR #51686, Var-Muster bindungsfähig machenPR #51620, Boxen in SyntaxToken.Value verwenden PR #51546, Funktionszeiger RefKind-Anzeige korrigieren PR #51223, Behandlung von Mustern in Switch-Ausdrücken PR #50984, Hinzufügen von ImplementationAttributes zum IMethodSymbol PR #50560
- Benjamin Schäublin (@bschaeublin):
- Redundanter Text wurde in der Anmerkung für die MetadataReference-Überladung #51242 PR korrigiert.
- Martin Strecker (@MaStr11):
- piotrstenke (@piotrstenke):
- Eigenschaften aktualisiert, die im
<see>
-Tag in „GeneratorContexts.cs“ PR #50896 auf sich selbst verweisen
- Eigenschaften aktualisiert, die im
- Huo Yaoyuan (@huoyaoyuan):
- Schlüsselwortempfehlung aktualisiert, um schreibgeschützte Member von Strukturen zu berücksichtigen PR #50820
- Yair Halberstadt (@YairHalberstadt):
- Unterstützung für gemischte Deklaration und Zuweisung bei der Dekonstruktion von PR #44476
- Youssef Victor (@Youssef1313):
Razor (ASP.NET Core) Vorschau-Editor
Der neue Razor-Vorschau-Editor unterstützt jetzt die folgenden Razor-Bearbeitungs-Funktionen:
- IntelliSense-Vervollständigung filtert jetzt HTML-Komponenten, TagHelper-Elemente und C#-Attribute:
- IntelliSense-Vervollständigung für C#-Überschreibungen
- Gehen Sie zu „Definitionsunterstützung“ für generische Komponenten.
- Neue Codestil-Konfigurations-Optionen für Tabs vs. Leerzeichen. Diese Codestile werden beim Schreiben, der Formatierung und Erstellung einer neuen Razor-Datei beachtet. Sie können Tabulatoren und Leerzeichen unter „Extras > Optionen > Text-Editor > Razor (ASP.NET Core) > Tabulatoren“ konfigurieren.
- Der Razor-Text-Editor in den Extras-Optionen wurde von ASP.NET Core Razor Language Services in Razor (ASP.NET Core)umbenannt.
Um den neuen Razor-Vorschau-Editor zu aktivieren, gehen Sie zu „Extras > Optionen > Umgebung > Previewfunktionen“, und wählen Sie Den experimentellen Razor-Editor aktivieren (neuen Razor-Editor aktivieren) aus. Starten Sie Visual Studio anschließend neu.
Testerfahrung der Verbesserungen der Zugänglichkeit
- Console.Writeline wird nun im Test-Explorer angezeigt! Die lange Ausgabe erscheint als klappbarer Abschnitt im Übersichtsfenster für die Testdetails. Bei der Ausgabe über einer bestimmten Länge werden die ersten paar Zeilen angezeigt und dann abgeschnitten, mit der Option zum Öffnen des Testprotokolls in einem separaten Fenster. Der StackTrace wird abgeschnitten, wenn mehr als 20 Frames vorhanden sind und zeigt dann nur die ersten und letzten 10 Frames an. Ein wichtiger Teil des Abschnitt-Designs konzentrierte sich auch auf die Reduzierung von VS-Einfrierungen bei Testläufen mit umfangreicher Ausgabe. Bei Tests mit umfangreicher Ausgabe wird der UI-Thread nicht mehr blockiert.
- Das Testresultat kann nun Tags beibehalten, so dass Hyperlinks und Stacktrace-Verknüpfungen auch aus den Protokolldateien heraus navigierbar sind. Diese Links sind nun auch Tastatur-freundlich.
- Protokolldateien werden für ein einzelnes Testergebnis erstellt, wenn die Ausgabe mehr als 300 Zeichen umfasst oder wenn mehr als 10 Dateien an das Testergebnis gebunden sind. Protokolldateien können jetzt auch in der Vorschau geöffnet werden, so dass Sie Ihre Registerkarten einfacher verwalten können. Die Protokolldateien und der Test-Explorer unterstützen Ctrl PgUp/PgDn zum Navigieren des Cursor und Shift+Ctrl PgUp/PgDn zur Auswahl.
- Der Protokolldatei-Editor verwendet jetzt die IVsTextView-Schnittstelle. Dies bedeutet, dass er nun auch sehr große Textdateien öffnen kann. Dadurch entfällt die Notwendigkeit, dass Benutzer
Copy All
Protokolle abkürzen und in einem separaten Editor (z. B. Notepad) öffnen müssen. Für den MSTest ist nun auch eine einzige Protokolldatei verfügbar, welche die gesamte Ausgabe hinzufügt, anstatt nur einzelne Protokolldateien für jede Datenzeile aufzuweisen.
Testtools
- Sie können jetzt plattformübergreifende Code Coverage über die Befehlszeile unter Ubuntu und Alpine mit der Dotnet-ClI erhalten. Für Benutzer, die Code Coverage auf Computern für diese Plattformen erhalten möchten, können Sie jetzt die gleichen Code Coverage-Sammlungsbefehle hinzufügen, die Sie normalerweise unter Windows verwenden würden. Weitere Informationen finden Sie in der Dokumentation zu dotnet test.
- Im Test-Explorer befindet sich nun neben der Schaltfläche „Alle reduzieren“ eine Schaltfläche zum Erweitern aller Schaltflächen. Dieser Befehl war über Tastenkombinationen (STRG+A, STRG+NACH-RECHTS-TASTE) verfügbar, aber das weitere Feedback hat dazu geführt, dass das Hinzufügen einer Schaltfläche die zusätzliche Benutzeroberfläche rechtfertigt. Wie immer vielen Dank, dass Sie uns über https://developercommunity.visualstudio.com/ wissen lassen, was Sie denken.
- Es gibt auch einige geringfügige Änderungen daran, wie der Test-Explorer „veraltete Ergebnisse“ anzeigt. „Veraltete Ergebnisse“ sind die ausgegrauten oder „abgeblendeten“ Testergebnisse, die darauf hinweisen, dass das Ergebnis nicht aus dem letzten Testlauf stammt. Wenn ein Ergebnis nicht Teil des letzten Testlaufs ist, wird es als veraltet angezeigt. Zuvor wurden neue Testergebnisse (oder sogar alte Testergebnisse, die neu erkannt wurden) ebenfalls mit soliden Symbolen angezeigt. Dies führte zu Verwirrung darüber, warum einige „nicht ausgeführte“ Tests abgeblendet wurden und andere nicht. Durch diese Änderung wird die Komplexität veralteter Ergebnisse reduziert.
- Mit dem Feature für persistente Testergebnisse (hinzugefügt in Version 16.2) können Sie die Testergebnisse des letzten Testlaufs auch dann sehen, wenn Sie Visual Studio geschlossen und dann erneut geöffnet haben. Dadurch können sich Benutzer besser merken, wo sie aufgehört haben, und bietet mehr Kontext, ohne dass ein weiterer Testlauf erforderlich ist. Wir haben auch das Verhalten von persistenten Ergebnissen geändert, sodass sie immer veraltet erscheinen. Dies gibt besser an, dass sie nicht aus einem Testlauf stammen, der während der aktuellen Visual Studio-Sitzung ausgeführt wurde.
Webtools
Dynamische Konfiguration ermöglicht die automatische Aktualisierung von Konfigurationsressourcen mithilfe einer Middleware. App-Konfiguration als verbundener Dienst kann nun dynamische Konfiguration automatisch in Ihre Anwendung integrieren. Um diesen verbundenen Dienst zu verwenden, klicken Sie auf „Verbundene Dienste“ und fügen Azure App Configuration als Dienstabhängigkeit hinzu.
Paketerstellungsprojekt für Windows-Anwendungen „Abhängigkeitsstruktur“
- Im Anschluss an die Arbeit des letzten Jahres zur Aktivierung von NuGet-Paketverweisen im Paketerstellungsprojekt für Windows-Anwendungen (Windows Application Packaging Project, WAP) haben wir eine neue Benutzeroberfläche im Projektmappen-Explorer von WAP aktiviert. In der alten Version wurden diese Paketverweise nicht angezeigt, und Sie konnten keine NuGet-Pakete über die Benutzeroberfläche hinzufügen.
- In der neuen Version haben wir mit Hilfe von CPS und dem .NET Project System eine „Abhängigkeitsstruktur“ aktiviert, die weiterhin Projektreferenzen über die Unterstruktur „Anwendungen“ anzeigt, aber auch eine Unterstruktur „Pakete“ enthält, mit der Sie auch NuGet-Pakete verwalten können.
XAML-Tooling-Verbesserungen (WPF & Xamarin.Forms)
Xamarin.Forms
In dieser Version haben wir zwei kleine Verbesserungen an XAML IntelliSense und XAML Hot Reload für Xamarin.Forms-Kunden vorgenommen. „Nur Änderungs-"Hot Reload meldet keine falschen Fehler mehr für:
- Einsteller im VisualStateManager, die sich auf die Eigenschaften ohne Angabe des Typs beziehen, z. B.
<Setter Property="BackgroundColor" Value="Red">
. - Zusammengeführte ResourceDictionaries nicht im <ResourceDictionary.MergedDictionaries>-Element verpackt
Beispiel:
<Application>
<Application.Resources>
<ResourceDictionary Source='Colors.xaml'/>
<Style TargetType='Label'> ... <Style>
</Application.Resources>
</Application>
XAML-Beispieldaten
In dieser Version haben wir die Entwurfszeit-Datenfunktionalität von XAML-Designer weiter verbessert, indem wir eine neue Möglichkeit eingeführt haben, um Ihren ItemsControls generische Beispieldaten hinzuzufügen. Diese Funktion kann jedoch nur für ListBox, ListView und DataGrid in WPF eingesetzt werden.
- Beispieldaten können durch das Einstellen von
d:ItemSource='{d:SampleData}'
für ListBox, ListView oder DataGrid aktiviert werden. - Dadurch wird das Steuerelement im Designer nur mit einem Satz von fünf Elementen aufgefüllt, die Ihren DataTemplates und Bindungspfaden entsprechen.
- Sie können mit der
ItemCount
-Eigenschaft ändern, wie viele Elemente erzeugt werden, zum Beispiel:d:ItemSource='{d:SampleData ItemCount=3}'
Schnellaktionen des XAML-Designers
Eine neue Glühbirne in der Nähe der Ecke eines ausgewählten Steuerelements im XAML-Designer kann für schnellen Zugriff auf häufig bearbeitete Eigenschaften für dieses Steuerelement verwendet werden.
Folgende Steuerelemente werden unterstützt:
- UWP: Border, Button, Canvas, CheckBox, ComboBox, Grid, HyperlinkButton, Image, ListBox, ListView, NavigationView, RadioButton, Slider, StackPanel, TextBlock, TextBox
- WPF: Border, Button, Canvas, CheckBox, ComboBox, Grid, Image, Label, ListBox, ListView, StackPanel, TextBlock, TextBox
Dieses Feature ist für UWP, WPF .NET Core und WPF .NET Framework verfügbar (wenn die Previewfunktion „Neuer WPF XAML-Designer für .NET Framework“ im Optionendialogfeld aktiviert ist).
XAML-Designer-Schnellaktionen verfügt auch über ein Erweiterbarkeitsmodell. Weitere Informationen zum Erstellen eigener Aktionen finden Sie in Erweiterbarkeit im GitHub-XAML-Designer
MVVM-Tools für XAML
In diesem Release haben wir eine Glühbirne im XAML-Editor eingeführt, um ein view-model zu erstellen. Diese Glühbirne wird im Stammelement des XAML-Dokuments angezeigt, wenn erkannt wird, dass ein MVVM-Framework im Projekt verwendet wird. Das Dialogfeld ermöglicht die Anpassung des generierten view-model-Namespaces, des Ordners und des geerbten Basis-view-models.
Die Glühbirne legt außerdem das generierte view-model als x:DataType(Xamarin.Forms) oder d:DataContext(alle anderen Plattformen) für das XAML-Dokument fest, sodass der Benutzer die XAML-Editor-Glühbirnen weiter nutzen kann, um gebundene Eigenschaften und Befehle in view-models zu generieren.
Service Fabric-Tools
Diese Funktion führt die Datei „StartupServices.xml“ in den Entwurf einer Service Fabric-Anwendung ein. Diese Datei hostet den Abschnitt „DefaultServices“ der Datei „AnwendungManifest.xml“. Bei dieser Implementierung werden die Parameter, die sich auf die DefaultServices und die Dienstdefinition beziehen, aus der bestehenden Datei „ApplicationManifest.xml“ in die neue Datei namens „StartupServices.xml“ verschoben. Diese Datei wird in jeder Funktionalität (Erstellen/Neu Erstellen/F5/STRG+F5/Veröffentlichen) in Visual Studio verwendet.
In diesem Release behobene Hauptprobleme
- Es wurde ein Problem behoben, bei dem C#-Entwickler, die den Befehl Edit.SmartBreakline aufrufen, den vollständigen Inhalt im Accessor von Property entfernt haben.
- Es wurde ein Problem behoben, bei dem Entwickler, die eine Codestileinstellung aktualisieren, die Änderung auf alle Visual Studio-Instanzen anwenden und nicht nur innerhalb des gewünschten Ordners.
- Das Symbol „Codeänderungen anwenden“ wurde immer dann angezeigt, wenn ein natives oder gemergtes Projekt geöffnet wurde. Sie wird nur aktiviert, sobald ein Entwickler mit dem Debuggen beginnt.
- Korrektur Breaking Change in AudioUnitPropertyIDType
- Es wurde ein Problem behoben, bei dem Entwickler, die das UWP-Komponententestframework verwenden, keine Tests auf Remotegeräten ausführen konnten.
Aus der Entwicklercommunity
Im Folgenden finden Sie einige der wichtigsten Punkte, die in Version 16.10 veröffentlicht wurden:
- SQLPROJ wird nicht mit Änderungen aktualisiert
- Arrayzugriff in Verbundliteralinitialisierern gibt falsche Offsets an
- Probleme/Kommentare zu Visual Studio 2019 Vorschau 2: Module der C++-Standardbibliothek
- Visual Studio 2019 leert das CMakeBuild-Verzeichnis immer noch bei jeder Bearbeitung von „CMakeFiles.txt“ oder „CMakeSettings.json“
- MSVC respektiert constexpr nicht, wenn in Lambdaausdrücken
- Noexcept-Standardkonstruktor
- #Pragma warning (push, )) deaktiviert nicht alle Warnungen für den Bereich, wenn /Wall festgelegt ist
- Constexpr-if und nicht verwendeter Parameter
- constexpr initializer_list kann nicht deklariert werden
- Neuestes C++ verwechselt Aufrufkonvention in Vorlagenparameter
- Es kann nicht nach Updates für Visual Studio 2019 gesucht werden
- Das Git-Vergleichsfenster zeigt, dass sich in der Datei alles geändert hat, wenn „Anpassen von Leerzeichen ignorieren“ nicht aktiviert ist.
- Leerzeichen werden anstelle von Registerkarten eingefügt.
- Schnellansichten des Visual Studio Debugger und BinaryFormatter in ASP.NET Core 5
- VS für Linux: Ausgabedateien auf Remotecomputer werden nach 16.9-Update AN FALSCHER STELLE GEBILDET.
- Einige geöffnete, angeheftete Registerkarten werden beim Neustart von Visual Studio getrennt.
- Upgrade von Visual Studio 2019 auf 16.9.4 verursacht Kompilierungs-/Linkfehler
- GC sammelt während des Methodenaufrufs für die c++/cli-Verweisklasse
- Logischer EncodePointer/DecodePointer-Fehler in trace.cpp von CRT.
- Das Element hat den ungültigen Wert „EnableAllWarnings“.
- E0144 wird für gültigen Code gemeldet. (Intellisense-Fehler).
- „Ungültiges Vorlagenargument, erwarteter Konstantenausdruck zur Kompilierzeit“ nach dem Upgrade auf Visual Studio v16.9.0
- Visual Studio 2019 leert das CMakeBuild-Verzeichnis immer noch bei jeder Bearbeitung von „CMakeFiles.txt“ oder „CMakeSettings.json“. (https://developercommunity.visualstudio.com/t/sizeof-array-to-pointer-VC-weirdness/1396250)* [Größe von Array-zu-Zeiger-VC-Besonderheit]
- Ungültige Zeichenausnahme in Xamarin.Android nach Update auf Version 16.9.0 von Visual Studio Community 2019
- Microsoft.VisualStudio.TestStorage.TestStoreIndexingException: Fehler beim Hinzufügen des Ergebnisses für den Test
- VS für Linux: Ausgabedateien auf Remotecomputer werden nach 16.9-Update AN FALSCHER STELLE ERSTELLT
- Einige geöffneten angehefteten Registerkarten werden beim Neustart von Visual Studio getrennt
- Regression 16.9.0: F7 – „Code anzeigen“ funktioniert über Xamarin-XAML-Datei nicht
- cl.exe beansprucht 5 GB RAM zum Kompilieren eines kleinen Codes
- Enumerationswerte werden nicht in den vorgeschlagenen Aktionen aufgeführt, wenn das TypeConverter-Attribut auf einen benutzerdefinierten Enumerationstyp angewendet wird
- Der Test-Explorer führt unter .NET Core 3.1 und .NET 5.0 keine Tests aus, funktioniert jedoch mit .NET 4.6.1
- Mit /O2 generierter fehlerhafter Code
- „Code anzeigen“ im Kontextmenü funktioniert nicht
- Schwerwiegender Fehler C1001: Interner Compilerfehler (Compilerdatei „D:\a01_work\4\s\src\vctools\Compiler\Utc\src\p2\main.c“ Zeile 213)
- Beim Entfernen von Live Share über das Dialogfeld für VS-Erweiterungen führt zu einem Fehler beim Installationsprogramm
- Msvc akzeptiert einen ungültigen Vergleich zwischen Zeiger und Integer in der Vorlagenfunktion
- Visual Studio reagiert während des Durchsuchens von IntelliSense nicht mehr
- IntelliSense-Fehler aufgrund eines vcpkgsrv-Absturzes
- Die Liste von vcpkgsrv.exe-Prozessen wächst ständig
- Visual Studio-Zusammenführungs-Zweige zeigen einen falschen Zweignamen an.
- Häufiger Fehler in Visual Studio 2019: „Die Anwendung rief eine Schnittstelle auf, die für einen anderen Thread der Anwendung aufgerufen wurde.“
- Beim Starten von Tests aus einer Codedatei (z. B. mittels Ctrl+R+R, T) wird versucht, die LiveShare-Komponenten auch dann zu laden, wenn sie nicht installiert sind.
- ClickOnce Publish für .NET Core 3.1 und .NET 5.0 schlägt möglicherweise fehl, wenn das Projekt auf ein Klassenbibliotheksprojekt mit einer anderen Ziellaufzeit verweist.
- E1504 wurde behoben: Interner Fehler bei der Verwendung von C++20-Modulen.
- C++ IntelliSense erkennt „using enum“ nicht.
- Visual Studio 2019 Enterprise RTM - .NET SDK-basierte Projekte (TargetFrameworkMoniker .NET 4.7.2).
- Ein Fehler beim Parsen der Konfigurationsausgabe wurde behoben.
- Die Meldung „Das Paket 'VslsFileSystemProviderVSCorePackage' wurde nicht korrekt geladen" wird angezeigt, wenn LiveShare nicht installiert ist.
- Die Erstellung eines Xamarin iOS-Bindungsprojekts in Visual Studio v 16.9 ist nicht länger möglich.
- Toolset 16.9-Regression: VCXPROJ generiert statische Bibliotheken: PDB-Datei wird nicht mehr in die Ausgabe kopiert.
- Verbindung mit Linux-Remotecomputer verwendet falschen Zielpfad.
- Eine Kopierinitialisierung wurde korrigiert: Problem bei der Überladungsauflösung.
- Falsches IntelliSense-Schlingern außerhalb des Bereichs der v3-Bibliothek.
- Goldbarren nach einer Ausnahme in DiagnosticDataSerializer.ReadDiagnosticDataArray.
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.