Freigeben über


2019LogoVisual 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

Archivierte Versionsanmerkungen von Visual Studio 2019

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:


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

16.10.4 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


16.10.3 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


16.10.2Visual 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


16.10.1 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


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

Docker Tools-Verbesserungen

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

Debuggen und Diagnose

  • Diagnoseanalyse von Speicherabbildern umfasst nun verwaltete Linux-Core Dumps.

Git-Produktivität

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

.NET-Produktivität

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

Webtools:

  • 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

XAML-Toolverbesserungen

  • 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

Service Fabric-Tools

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

Compose grouping option and containers label tab

  • Außerdem fügten wir eine Etiketten-Registerkarte für Abbildungen hinzugefügt.

Images Label tab

  • Anhand der „neue Volumen“-Registerkarte können Sie die Volumen eines Containers in Betrieb anzeigen und die Dateien sogar in Visual Studio öffnen.

Container Volumes tab

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

Tagging an image

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.

Manage Docker Compose Launch Settings

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.

Create a PR and view list of PRs on the web from the Git menu

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

Left click to check out a branch and right click for additional actions

  • Der neue Repository-Picker in der Statusleiste verfügt über ein Kontextmenü bei Rechtsklick, mit dem Sie Elemente aus der Liste entfernen können.

Remove items from the repository picker list through the context menu

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

Settings to toggle auto-sln load and branch check out.

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

Git Changes overflow menu with callouts to Sync, open in browser, and toolbar actions.

  • Lokale und Remote-Zweige durchsuchen und allgemeine Zweigaktionen aus der Zweigauswahl der Statusleiste ausführen.

Branch picker in the status bar.

  • Suchen und wechseln Sie zwischen lokalen Git-Repositorien mittels der Repositorium-Auswahl in der Statusleiste.

Repo picker in the status bar.

  • 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

Setting to keep solution open.

  • Beim Öffnen eines Repositoriums können Sie auch auswählen, dass der Repositorium-Stammordner nicht geladen werden soll.

Setting to open the folder

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

Sync button in the status bar.

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

Incoming section in Git Repository window with a callout to fetch and pull buttons.

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

Embedded commit details and file comparison in Git Repository window.

  • Zeigen Sie die Anzahl der Löschungen und Einfügungen in einer Datei an und ändern Sie das Layout des Vergleichs.

Popped out Commit window with callouts to number of file changes and layout view buttons in toolbar

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

Info bar in Git Changes window prompting you to connect to Azure DevOps for the current repository.">

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

Context menu when resolving conflicts displays the branch names.

Rebase and Merge editor displays branch names in the headings.

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

Remove Unused References command

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:

Remove Unused References dialog

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

Smart Break Line

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

Simplify LINQ Expression

  • Es gibt jetzt IntelliSense-Vervollständigung für Enumerationswerte, wenn ein Typ bekannt ist, auch wenn der Enumerationsname nicht eingegeben wird.

IntelliSense completion for Enum values

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

IntelliSense completion mode setting

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

Code style options for new lines

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:

Code fix remove extra blank lines

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

Method call argument completion

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

EditorConfig UI

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

Inheritance Margin Icons

  • Es sind nun IntelliSense-Fertigstellung für Umwandlungen, Indexer und Operatoren vorhanden.

IntelliSense completion for casts, indexers, and operators

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

Source Generator debugger

Source Generator debugger target project

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.

Automatically analyze memory dumps

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):

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:

Razor IntelliSense filters

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

Test output includes Console.Writeline

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

Test output preserves hyperlinks and stacktraces

Test logs also preserve hyperlinks and stacktraces

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

Test logs are easier to select with keyboard shortcuts

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

Persisted test results from last Visual Studio session appear faded

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.

Windows Application Packaging Project Old User Interface.

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

Windows Application Packaging Project New User Interface.

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}'

ListBox showing Sample Data.

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

XAML Designer Quick Actions on a Button

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.

Create view-model lightbulb experience

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

Die Entwicklercommunity verfügt über eine vollständige Liste aller Neuerungen, die in dieser Version enthalten sind.

Im Folgenden finden Sie einige der wichtigsten Punkte, die in Version 16.10 veröffentlicht wurden:


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 Feedback Icon 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.


Seitenanfang