2019LogoVisual Studio 2019 Version 16.1 – Anmerkungen zu dieser Version



Entwicklercommunity | Systemvoraussetzungen | Kompatibilität | Verteilbarer Code | Freigabeverlauf | Lizenzbedingungen | Blogs | Neuerungen in der Visual Studio-Dokumentation


Hinweis

Dies ist nicht die neueste Version von Visual Studio. Das neueste Release können Sie über die Visual Studio-Site herunterladen.



Neues in Visual Studio 2019 Version 16.1

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.

Visual Studio 2019 Version 16.1 – Releases

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:


Release Notes Icon Visual Studio 2019, Version 16.1.6

Veröffentlichung: 9. Juli 2019

Sicherheitsempfehlungen

CVE-2019-1077: Sicherheitsrisiko bei einem automatischen Update der Visual Studio-Erweiterung

Wenn im Rahmen des Prozesses für automatische Updates der Visual Studio-Erweiterung bestimmte Dateivorgänge nicht ordnungsgemäß durchgeführt werden, besteht ein Sicherheitsrisiko durch Rechteerweiterungen. Ein Angreifer, der dieses Sicherheitsrisiko erfolgreich ausnutzt, könnte Dateien an beliebigen Speicherorten löschen. Um dieses Sicherheitsrisiko auszunutzen, benötigt ein Angreifer nicht privilegierten Zugriff auf ein anfälliges System. Das Sicherheitsupdate behebt dieses Risiko, indem Speicherorte geschützt werden, in denen bei automatischen Updates für die Visual Studio-Erweiterung Dateivorgänge ausgeführt werden.

CVE-2019-1075: Sicherheitsrisiko beim ASP.NET Core-Spoofing

In ASP.NET Core besteht ein Sicherheitsrisiko beim Spoofing, das zu einer offenen Weiterleitung führen kann. Ein Angreifer, der das Sicherheitsrisiko erfolgreich ausnutzt, könnte einen gezielt ausgewählten Benutzer auf eine schädliche Website weiterleiten. Er könnte dafür einen Link zu einer eigens entwickelten URL senden und den Benutzer davon überzeugen, auf diesen zu klicken.

Das Sicherheitsupdate behebt dieses Risiko, indem korrigiert wurde, auf welche Weise ASP.NET Core URLs analysiert. Weitere Informationen finden Sie in den Versionshinweisen zu .NET Core.

CVE-2019-1113: WorkflowDesigner-XOML-Deserialisierung ermöglicht die Ausführung von Code

Eine XOML-Datei, die auf bestimmte Typen verweist, kann beim Öffnen in Visual Studio die Ausführung von Code verursachen. Es dürfen nun nicht mehr alle Typen in XOML-Dateien verwendet werden. Wenn eine XOML-Datei geöffnet wird, die einen der seit neuestem nicht mehr autorisierten Typen enthält, wird eine Meldung angezeigt, in der erklärt wird, dass der Typ nicht autorisiert ist.

Weitere Informationen finden Sie unter https://support.microsoft.com/help/4512190/remote-code-execution-vulnerability-if-types-are-specified-in-xoml.


Release Notes Icon Visual Studio 2019, Version 16.1.5

Veröffentlichung: 2. Juli 2019

###Zusammenfassung der Probleme in Visual Studio 2019 16.1.5, die behoben wurden


Release Notes Icon Visual Studio 2019 Version 16.1.4

Veröffentlichung: 25. Juni 2019

Zusammenfassung der Probleme in Visual Studio 2019 16.1.4, die behoben wurden


Release Notes Icon Visual Studio 2019, Version 16.1.3

Veröffentlichung: 11. Juni 2019

Zusammenfassung der Probleme in Visual Studio 2019 16.1.3, die behoben wurden


Release Notes Icon Visual Studio 2019, Version 16.1.2

Veröffentlichung: 4. Juli 2019

Zusammenfassung der Probleme in Visual Studio 2019 16.1.2, die behoben wurden


Release Notes Icon Visual Studio 2019 Version 16.1.1

veröffentlicht am 24. Mai 2019

Zusammenfassung der Probleme in Visual Studio 2019 16.1.1, die behoben wurden


Release Notes Icon Visual Studio 2019 Version 16.1

veröffentlicht am 21. Mai 2019

Zusammenfassung der Neuerungen in Visual Studio 2019 16.1

IDE

  • Visual Studio IntelliCode ist jetzt allgemein verfügbar und wird mit allen Workloads installiert, die C#, C++, TypeScript/JavaScript und XAML unterstützen.
  • PMA-Unterstützung (Per-Monitor Awareness) hinzugefügt.
  • Für C# sind neue Codekorrekturen verfügbar.
  • Die Option „Zuletzt verwendet“ wurde der Suche in Visual Studio hinzugefügt.

Debugger

  • Verbesserungen für die SourceLink-Authentifizierung wurden implementiert.
  • Zur Liste der Standardsymbolserver wurde der Symbolserver nuget.org hinzugefügt.
  • Die Vorschauversion des Tools „Time Travel Debugging“ enthält nun Unterstützung für die Einzelschrittausführung für Ausnahmen.

Erweiterbarkeit

  • Eine RESX-Datei muss nicht mehr in VSIX-Projekten (BuildTools-Update) enthalten sein.
  • VSIX-Projektvorlagen verwenden nun die neue SDK-Version.

Leistung

  • Optimierung der Benutzererfahrung, die die Ladezeit bei sehr großen Projektmappen verkürzt.
  • Vorlagenersteller können ihren Vorlagen benutzerdefinierte Tags hinzufügen.
  • CodeLens wird nun für benutzerdefinierte Benutzeroberflächen unterstützt.
  • Die Implementierung des Sprachserverprotokolls wurde aktualisiert.
  • Das Verhalten für das Wechseln zwischen Projektmappen- und Ordneransichten sowie anderen Ansichten wurde aktualisiert.

C++

F#

  • Leistungsverbesserungen und Programmfehlerbehebungen für F# und F# Tools freigegeben.

.NET

  • Die neuen .NET-Produktivitätsfeatures beinhalten nun eine Option zur Codebereinigung mit nur einem Klick für Projekte und Projektmappen, eine neue Tastenkombination für „Blockkommentar umschalten“ und Refactoringoptionen, um Typen in andere Namespaces zu verschieben.
  • Benutzer können nun Code aus einem SSH-URI über den Klonbildschirm im Startfenster klonen.
  • Ergänzungen der .NET-Produktivität wie IntelliSense-Vervollständigung für nicht importierte Typen, das Umschalten zwischen einzeiliger Auskommentierung/Aufheben der Auskommentierung, das Exportieren von Benennungsstilen nach editorconfig und eine neue Codeformateinstellung für die bevorzugte Verwendung innerhalb/außerhalb von Namespaces.
  • Neben Fehlerbehebungen und Leistungssteigerungen Ergänzungen der .NET SDK-Tools mit Blick auf die Unterstützung von WinForms- und WPF-Projekten für .NET Core 3.0 implementiert.
  • Die Visual Studio SDK-Version 16.0 wurde in NuGet veröffentlicht.
  • Vorschau auf XAML-Designer für die .NET Core 3.0 WPF-Entwicklung freigegeben.

Xamarin

Wichtige in Visual Studio 2019, Version 16.1 behobene Probleme

Einzelheiten der Neuerungen in Visual Studio 2019 Version 16.1

  • IntelliCode ist jetzt allgemein verfügbar und wird mit allen Workloads installiert, die C#, C++, TypeScript/JavaScript und XAML unterstützen.
  • IntelliCode-Vorschaufunktionen – benutzerdefinierte Modelle, C++/TS/JS-Unterstützung und Editorconfig-Inferenz – sind standardmäßig deaktiviert. Navigieren Sie zu Extras > Optionen > IntelliCode“, um sie zu aktivieren.
  • Die Vorlage „Editorconfig (IntelliCode)“ aus dem Assistenten für neue Elemente entfernt. Um eine abgeleitete Editorconfig zu erstellen, klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den gewünschten Speicherort, und wählen Sie Hinzufügen > Neue EditorConfig (IntelliCode).
  • Verwenden Sie das Startfenster, um Code aus einem Onlinerepository über SSH zu klonen.
Clone with SSH on start window
Klon mit SSH im Startfenster
  • Visual Studio-IntelliCode wird standardmäßig installiert, wenn Sie eine Workload installieren, die C#, XAML oder C++ unterstützt.
    • C#- und XAML-Basismodelle sind standardmäßig aktiviert.
    • Previewfunktionen wie das benutzerdefinierte Modelltraining und die Argumentvervollständigung können über Extras > Optionen > IntelliCode aktiviert werden.
  • PMA-Unterstützung (Per-Monitor Awareness) wurde hinzugefügt.
  • Für C# sind neue Codekorrekturen verfügbar.
  • Für das auf WinForms basierende PropertyBrowser-Fenster von Visual Studio wurde die PMA-Unterstützung (Per-Monitor Awareness) hinzugefügt. Dafür muss .NET Framework 4.8 RTM auf dem Computer installiert sein.
  • SourceLink kann nun die Windows-Authentifizierung verwenden, um die lokale TFS-Quellcodeverwaltung zu unterstützen.
  • Zur Liste der Standard-Symbolserver wurde der nuget.org-Symbolserver hinzugefügt.

Projekt

  • Auf der Schaltfläche für das Wechseln der Ansichten im Projektmappen-Explorer wird nun dauerhaft ein Dropdownmenü aller möglichen Ansichten angezeigt.
Solution switching
Wechseln der Projektmappenansicht
  • Die Ladezeit für sehr große Projektmappen wurde verbessert. Die Verbesserungen variieren je nach Größe einer jeweiligen Projektmappe.

  • Das Dialogfeld „Konvertieren“ unter „Datei > Konvertieren“ wurde entfernt. Dieses Feature war zuvor in Visual Studio 2015 veraltet.

  • Die Validierungsregeln für die Schemas „task.vs.json“ und „launch.vs.json“ wurden aktualisiert, und es wurden Beschreibungen für die Eigenschaften hinzugefügt.

  • Unterstützung für das Linux-Remotedebuggen mithilfe eines benutzerdefinierten Programms über das Schema „launch.vs.json“ wurde hinzugefügt.

Erweiterbarkeit

  • Benutzer können nun die neueste Version des NuGet-Pakets Microsoft.VisualStudio.SDK verwenden, um Visual Studio 2019 als Ziel in Ihren Erweiterungen zu verwenden. Denken Sie daran, nur dann diese SDK-Version zu verwenden, wenn die niedrigste unterstützte Version von Visual Studio die Version 16.0 ist.
  • Beim Erstellen neuer VSIX-Projekte ist die 16.0-Version des Microsoft.VisualStudio.SDK-NuGet-Pakets nun enthalten.
  • Benutzer können Ihren Projektvorlagen nun Tags hinzufügen, um die Kategorisierung und das Filtern im Visual Studio 2019-Dialogfeld „Neues Projekt“ zu ermöglichen. Benutzer können eines der integrierten Tags oder eigene, benutzerdefinierte Tags für die Programmiersprache, die Plattform und den Projekttyp auswählen.
Template tagging
Vorlagen mit Tags versehen
  • CodeLens-Erweiterungen können nun in ihrem CodeLens-Details-Popup beliebigen Inhalt der Benutzeroberfläche anzeigen.

  • Für das Sprachserverprotokoll wurden die folgenden Updates vorgenommen:

    • Unterstützung für projektierte Puffer, um das Sprachserverprotokoll für Inline-Diff zu aktivieren, und Razor-Dateien in LiveShare wurde hinzugefügt.
    • Unterstützung für nicht notwendige Diagnosen
    • Unterstützung für textDocument/typeDefinition
    • Unterstützung für textDocument/foldingRange (Gliederung)
  • Eine RESX-Datei muss nicht mehr in VSIX-Projekten (BuildTools-Update) enthalten sein.

  • Das NuGet-Paket Microsoft.VSSDK.BuildTools stellt jetzt im Rahmen des Builds eine leere RESX-Datei bereit, wenn keine RESX-Datei mit der MergeWithCTO-Eigenschaft vorhanden ist. Bei den meisten Erweiterungen wird zum Zusammenführen keine RESX-Datei verwendet oder benötigt. Dadurch bleibt das Projekt übersichtlicher.

  • Die Änderungen bei PMA hat möglicherweise Auswirkungen auf einige Erweiterungen. Erfahren Sie mehr zur PMA-Unterstützung für Visual Studio-Extendersteuerelementen.

Editor

  • Die Suche in Visual Studio zeigt nun im Fokus die drei zuletzt verwendeten Aktionen an, die über die Suche in Visual Studio aufgerufen wurden, wie in diesem Beispielmodell gezeigt. (Hinweis: Symbole und bestimmte Zeilenelemente wurden in diesem Modell noch nicht vollständig aktualisiert.)
Visual Studio Search
Modell der Suche in Visual Studio

C++

  • Verwenden Sie Ihre lokale Installation des Windows-Subsystems für Linux (WSL) mit C++ nativ in Visual Studio ohne zusätzliche Konfiguration oder SSH-Verbindung.
Windows Subsystem for Linux
Windows-Subsystem für Linux
  • AddressSanitizer ist jetzt in Visual Studio für Linux-Projekte und WSL integriert.
ASan integration
ASan Integration
  • Benutzer können nun Remotebuildcomputer von Remotedebugcomputern trennen, wenn Sie für Linux entwickeln (wird für MSBuild- und CMake-Projekte unterstützt).
  • QuickInfos enthalten nun einen Link zur Suche nach Onlinedokumenten, um mehr über das Codekonstrukt zu erfahren. Im Falle von rot-gestricheltem Code sucht der Link in der QuickInfo online nach dem Fehler.
  • Code innerhalb von QuickInfos wird nun farbig dargestellt, um seine Farbgebung im Editor widerzuspiegeln.
Colorized code in Quick Info tooltips
Farbiger Code in QuickInfos
New Code Analysis quick fixes
Neue Schnellkorrekturen für Code Analysis
  • Der Editor für CMake-Einstellungen wurde verbessert, einschließlich der Unterstützung für Windows Subsystem for Linux (WSL) und der Konfigurationen aus vorhandenen Caches. Die Standardstämme für Builds und Installationen wurden geändert. Umgebungsvariablen in Linux-CMake-Konfigurationen werden nun unterstützt.
Improvements to the CMake Settings Editor
Verbesserungen für den CMake Einstellungs-Editor
  • Eine verbesserte Protokollierung für Remoteverbindungen erleichtert die Fehlerdiagnose mit plattformübergreifender Entwicklung.
Improved logging for remote connections
Verbesserte Protokollierung für Remoteverbindungen
  • Sie können nun Ihren Remotebuildcomputer von Ihrem Remotedebugcomputer trennen, wenn Sie für Linux entwickeln (nur für MSBuild-Projekte möglich, bald auch für CMake unterstützt).
  • Die Vorlagenleiste kann das Dropdownmenü nun auf Grundlage der Instanziierungen dieser Vorlage in Ihrer Codebasis auffüllen.
New Template Bar dropdown menu
Neues Dropdownmenü „Vorlagenleiste“
  • C++-IntelliCode wird nun mitgeliefert und kann unter Extras > Optionen > IntelliCode > Allgemein aktiviert werden. Diese IntelliCode-Version ist noch genauer und beinhaltet Unterstützung für freie Funktionen.
  • Die CMake-Integration unterstützt nun die Clang/LLVM-Toolkette für Projekte, die Windows und/oder Linux unterstützen. Sie können CMake-Projekte erstellen, bearbeiten und debuggen, die entweder Clang, MSVC (Microsoft Visual C++) oder GCC verwenden.
CMake integration supports the Clang/LLVM toolchain
Die CMake-Integration unterstützt die Clang/LLVM-Toolkette
  • Sie können Glühbirnen für fehlende #include-Anweisungen vom Befehlszeilen-Paket-Manager „vcpkg“ installieren und verfügbare Pakete für die CMake-Anweisung „find_package“ automatisch vervollständigen lassen.
Autocompletion of available packages
Automatische Vervollständigung verfügbarer Pakete
  • Die mit Visual Studio gelieferte CMake-Version wurde auf die Version 3.14 aktualisiert. Diese Version fügt integrierte Unterstützung für MSBuild-Generatoren, die Visual Studio 2019-Projekte unterstützen, sowie dateibasierte APIs für die IDE-Integration hinzu.

  • Die allgemeine Eigenschaftenseiten für C++-Projekte wurde überarbeitet, und einige Optionen auf eine neue Seite „Erweitert“ verlagert. Die Seite „Erweitert“ beinhaltet auch zusätzliche Eigenschaften für die bevorzugte Toolset-Architektur, Debugbibliotheken, die Nebenversion des MSVC-Toolsets und Unity-Builds (Jumbo).

  • Die folgenden C++20-Vorschaufeatures wurden unserer Implementierung der C++-Standardbibliothek hinzugefügt und sind unter /std:c++latest verfügbar:

    • starts_with() und ends_with() für basic_string/basic_string_view.
    • contains() für assoziative Container.
    • remove(), remove_if() und unique() für list und forward_list geben nun size_type zurück.
    • shift_left() und shift_right() wurden <algorithm> hinzugefügt.
  • Die folgenden C++20-Vorschaufeatures wurden im C++-Compiler implementiert und sind unter /std:c++latest verfügbar:

    • Die Möglichkeit, Funktionsvorlagen über argumentbezogene Suchen nach Funktionsaufrufausdrücken zu suchen, wurde mit expliziten Vorlagenargumenten erweitert (P0846R0).
    • Die designierte Initialisierung (P0329R4) ermöglicht, dass bestimmte Member in der Aggregatinitialisierung ausgewählt werden können, z. B. mithilfe der Type t { .member = expr }-Syntax.
  • Die Lambdaunterstützung wurde überholt und dabei viele schon lang bestehende Fehler behoben. Diese Änderung ist bei Verwendung von /std:c++latest standardmäßig aktiviert. In anderen /std:c++*-Sprachmodi und im Standardmodus kann der neue Parser über /experimental:newLambdaProcessor aktiviert werden, z. B. /std:c++17 /experimental:newLambdaProcessor.

  • Dokumentation für CMake im Editor

  • Vervollständigungen und QuickInfos für integrierte Befehle, Variablen und Eigenschaften von CMake erleichtern die Bearbeitung Ihrer Dateien vom Typ „CMakeLists.txt“.

Tooltip info for add_subdirectory CMake command
QuickInfo für den CMake-Befehl „add_subdirectory“

F# und F#-Tools

Dies ist eine relativ kleine Version für die Sprache F# und F#-Tools, aber sie enthält dennoch einige Leckerbissen! Wie beim VS 16.0-Update konzentrierte sich auch diese Version auf die Leistung der Editor-Tools.

F#-Compiler und F# Interactive
  • P/Invoke-Unterstützung für F# Interactive zu .NET Core (#6544) hinzugefügt
  • Compileroptimierung für Span<'T> bei Verwendung in einer for-Schleife hinzugefügt (#6195)
  • Optimierung hinzugefügt, um überschüssige Some-Zuordnungen für F#-Optionen in verschiedenen Szenarien zu vermeiden (#6532)
  • Ausführungsreihenfolge der bei der Instanziierung anonymer Datensätze verwendeten Ausdrücke so geändert, dass sie von oben nach unten und nicht alphabetisch erfolgt, um mit der aktuellen Oberfläche für normale Datensätze übereinzustimmen (#6487)
  • Ein Fehler wurde behoben, bei dem sehr große literale Ausdrücke oder sehr große Strukturdeklarationen dazu führen konnten, dass der Compiler beim Build einen Stapelüberlauf erzeugt (#6258)
  • Ein Fehler wurde behoben, bei dem Breakpoints beim Debuggen einer Funktion mit einem anonymen Datensatz nicht mehr ausgelöst wurden (#6512)
  • Ein Fehler wurde behoben, bei dem an Konstrukte übergebene anonyme Datensätze, die einen obj-Parameter erwarten, einen Compilerabsturz verursachten (#6434)
  • Ein Fehler wurde behoben, bei dem for var expr1 to expr2 do ...-Schleifen zu einer bizarr gültigen (und verworfenen) Syntax führen konnten (#6586)
  • Ein Fehler, bei dem anonyme Datensätze mit Ereignissen nicht richtig verwendet werden konnten, wurde behoben (#6572)
  • Ein seit langem auftretender Fehler durch extrem große generierte Analysen in FsLexYacc (über 100 Millionen Zeilen) wurde behoben (#5967
  • Ein seit langem auftretendes Problem in der Typanbieter-Plug-In-Komponente des Compilers wurde behoben, durch das es zu einem durch einen Typanbieter verursachten Arbeitsspeicherverlust kommen konnte (#6409)
  • Unterstützung für --pathmap wurde von Saul Rennison zum F#-Compiler hinzugefügt, wodurch ein Problem behoben wurde, bei dem die aus einer Kompilierung resultierende ausführbare Datei in der eingebetteten F#-Signaturdateiressource absolute Pfade zu Quelldateien enthielt (#5213)
  • Eine Optimierung für die F#-AST, die den Verbrauch über andere Tools und Umgebungen verbessert (z.B. Fable), wurde von ncave hinzugefügt (#6333)
  • Eine Optimierung rund um das Durchlaufen von Informationen bei der Auflösung von Elementen wurde von Steffen Forkmann hinzugefügt (#4457)
  • Eine Verbesserung der Fehlermeldungen wurde von Gauthier Segay hinzugefügt, sodass bei fehlenden notwendigen Overrides in Typimplementierungen eine Liste der fehlenden Overrides angegeben werden (#4982)
F#-Tools
  • Das Dropdownmenü „Zielframework“ für F#-Projekte im .NET SDK enthält jetzt Werte für alle verfügbaren .NET Core-, .NET Standard- und .NET Framework-Werte, um die Migration zu .NET Core von .NET Framework im .NET SDK zu erleichtern
  • Ein Fehler wurde behoben, bei dem das Umbenennen generischer Typparameter Namen mit doppelten invertierten Hochkommas als Escapezeichen erzeugte (#5389)
  • Ein seit langem auftretendes Problem wurde behoben, bei dem Typanbieter redundant reinstantiiert wurden, was im Laufe der Zeit zu massiven Speicherbelegungen führte (#5929)
  • Ein seit langem auftretendes Problem wurde behoben, durch das beim Lesen von IL über einen kurzen Zeitraum unnötigerweise 20 MB zugewiesen wurden (#6403)
  • Ein Fehler, bei dem die Methode GetToolTipText im F#-Compilerdienst die gleiche XML-Signatur für mehrere Memberüberladungen anzeigen konnte, wurde durch Vasily Kirichenko behoben (#6244)
Open Source-Infrastruktur für F#

Schließlich wurde die Umgebung für Beiträge durch folgende Maßnahmen verbessert:

  • Wir haben unseren Prozess zum Erstellen aus einer Quelle fertig gestellt, sodass der F#-Compiler und die Kernbibliothek mithilfe des .NET Core-Quellbuildrepositorys erstellt werden können
  • Wir haben unsere Abhängigkeit von netstandard1.6 entfernt, sodass die gesamte Codebasis einheitlich auf netstandard2.0 und net472 abzielt
  • Wir haben eine .vsconfig-Datei zum Stamm des Repositorys hinzufügt, sodass Mitwirkende, die Visual Studio verwenden, nicht alles wissen müssen, was eine Installation im Voraus erfordert
  • Die Infodatei unseres Projekts wurde umgeschrieben, um potenziell verwirrende Informationen zu entfernen, haben einen Schnellstart für den Einstieg in Beiträge hinzugefügt, und versucht, in unserem Meldungen über die Art der Änderungen, die wir gerne vornehmen würden, integrativer zu sein

.NET-Produktivität

  • Es gibt jetzt eine experimentelle IntelliSense-Vervollständigung für nicht importierte Typen. Benutzer erhalten nun IntelliSense-Vorschläge für Typen in Abhängigkeiten in Projekten, auch wenn sie die Importanweisung noch nicht zur Datei hinzugefügt haben. Aktivieren Sie diese Option in Extras > Optionen > Text-Editor > C# > Intellisense.
Intellisense completion for unimported types
IntelliSense-Vervollständigung für nicht importierte Typen
  • Das Umschalten zwischen einzeiliger Auskommentierung/Aufheben der Auskommentierung ist nun über eine Tastenkombination (STRG+K,/) verfügbar. Dieser Befehl fügt einen einzeiligen Kommentar hinzu oder entfernt ihn, je nachdem, ob Ihre Auswahl bereits auskommentiert ist.
  • Benutzer können Benennungsstile jetzt mit der Schaltfläche „editorconfig generieren“ exportieren, die sich unter Extras > Optionen > Text-Editor > C# > Codeformat befindet.
  • Benutzer können nun eine neue editorconfig-Codeformatregel verwenden, um „using-Direktiven“ innerhalb eines Namespace zu verlangen oder zu verhindern. Diese Einstellung wird bei Klicken auf die Schaltfläche „editorconfig generieren“ unter Extras > Optionen > Text-Editor > C# > Codeformat ebenfalls exportiert.
Editorconfig rule for usings outside/inside namespaces
Editorconfig-Regel für Verwendungen außerhalb/innerhalb von Namespaces
Tools Options setting for usings inside/outside namespace
Einstellung unter „Optionen“ > „Extras“ für Verwendungen außerhalb/innerhalb von Namespaces
  • Bei der Suche nach allen Verweisen verfügt die Spalte „Art“ jetzt über mehr Filteroptionen und achtet auf Namespaces und Typen.
Find All References Kind column has more filter options
Bei der Suche nach allen Verweisen verfügt die Spalte „Art“ über mehr Filteroptionen
  • Codekorrektur für das Teilen/Zusammenführen von if-Anweisungen hinzugefügt.
Split or merge if statements
Teilen oder Zusammenführen von if-Anweisungen
  • Codekorrektur für den Zeilenumbruch bei binären Ausdrücken vorgenommen.
Wrap binary expressions
Zeilenumbruch bei binären Ausdrücken
  • Aus der Zeichenfolge eines regulären Ausdrucks (RegEx) kann nun über das IntelliSense-Menü (STRG+LEERTASTE) auf eine RegEx-Vervollständigungsliste zugegriffen werden. Diese Vervollständigungen enthalten auch eine Inline-Beschreibung der Wirkungsweise des Vorschlags.
Regex completion offered in Intellisense with (Ctrl + space)
RegEx-Vervollständigung
  • Codekorrektur für das „Entsiegeln“ (Entschlüsseln) einer Klasse hinzugefügt.
Unseal a class codefix
Entsiegeln einer Klasse
  • Sie können mit nur einem Klick die Codebereinigung von Projekten und Projektmappen bewerkstelligen. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf Projekte oder auf die Projektmappe, und wählen Sie „Codebereinigung ausführen“ aus.
Right-click to run code cleanup over the entire solution
Rechtsklicken, um die Codebereinigung für die gesamte Projektmappe auszuführen
You will see a dialog box while cleanup is applied to each file
Während die Bereinigung für jede Datei ausgeführt wird, wird ein Dialogfeld angezeigt
  • Verwenden Sie nun ein Dialogfeld für das Refactoring, um Typen in einen Namespace oder einen Ordner zu verschieben. Platzieren Sie Ihren Cursor auf den Klassennamen, und geben Sie (STRG+.) ein, um das Menü für die schnellen Aktionen und für Refactorings zu öffnen, und wählen sie „Move to namespace“ (In Namespace verschieben) aus. Dadurch wird ein Dialogfeld geöffnet, in dem Sie den Zielnamespace auswählen können, in den Sie den Typ verschieben möchten.
Place cursor in class name and type (Ctrl+.) to view refactorings
Platzieren des Cursors auf den Klassennamen, und Eingeben von (STRG+.), um die Refactorings anzuzeigen
Select the destination namespace
Auswählen des Zielnamespace
  • „Blockkommentar umschalten“/„Auskommentierung aufheben“ ist jetzt über die Tastenkombination (STRG+SHIFT+/) verfügbar oder über Bearbeiten > Erweitert > Blockkommentar umschalten. Dieser Befehl fügt Blockkommentare hinzu oder entfernt sie, je nachdem, was Sie ausgewählt haben.
Toggle block comment with (Ctrl+Shift+/)
Umschalten von Blockkommentaren mit (STRG+SHIFT+/)
  • Es gibt nun einen Codefix, um schreibgeschützte Strukturfelder schreibbar zu machen. Platzieren Sie Ihren Cursor auf den Strukturnamen, und geben Sie (STRG+.) ein, um das Menü für die schnellen Aktionen und für Refactorings zu öffnen, und wählen sie „Make readonly fields writable“ (Schreibgeschützte Felder schreibbar machen) aus.
  • Der Codefix, um ein privates Feld aus einem Konstruktor hinzuzufügen und umgekehrt, ist nun besser sichtbar und zeigt an, sobald ein Teil des Feldnamens ausgewählt ist. Dieses Refactoring bietet nun auch alle möglichen Konstruktoren.

XAML-Designer-Vorschauversion für WPF-Entwicklung mit .NET Core 3.0

  • Es gibt eine frühe Vorschauversion von XAML-Designer für Entwickler, die.NET Core 3.0 WPF-Anwendungen in Visual Studio erstellen. Viele Entwurfszeitfeatures sind zu diesem Zeitpunkt nicht verfügbar. Da es sich um eine frühe Vorschauversion handelt, senden Sie bei Problemen wie Abstürzen bitte Visual Studio Feedback an das Team, um die Umgebung für die Zukunft zu verbessern.
  • Mit jedem Update zu Visual Studio 2019 werden wir weitere der Features implementieren, die zuvor in XAML-Designer für .NET Framework WPF-Anwendungen verfügbar waren.

.NET SDK-Tools

Bei dieser Version war es aufwendig, die Blockierung der Verwendung von WPF in .NET Core aufzuheben:

  • Ein Problem, bei dem ein Fehlerdialogfeld angezeigt wurde, wann immer Sie ein neues Element zu einem .NET Core WinForms- oder WPF-Projekt hinzufügten, wurde gelöst (#4486).
  • Unterstützung für XAML-Dateien in .NET SDK-Projekten (#1467), darunter viele kleinere Elemente, die darauf abzielen, eine Umgebungsparität mit .NET-Projekten zu erreichen.
  • Unterstützung von Kontextmenüelementen für WinForms in .NET Core (137): Windows Forms, Benutzersteuerelement, Komponente und Klasse
  • Unterstützung von Kontextmenüelementen für WinForms in .NET Core (137): Fenster, Seite, Benutzersteuerelement, Ressourcenverzeichnis
  • Das Fenster „Datenquellen“ ist nun für .NET SDK-Projekte aktiviert, wodurch allgemeine Datenverwaltungsszenarien für WinForms möglich werden (#4479.

Unabhängig davon wurde eine Vielzahl von weiteren Fixes in dieser Version hinzugefügt:

  • .NET SDK-Projekte unterstützen jetzt .razor-Dateien (#4468).
  • Barrierefreier Hilfetext, der von der Bildschirmsprachausgabe gelesen werden kann, wurde zur Debug-Eigenschaftenseite hinzugefügt (#4568).
  • Eine Einstellung wurde hinzugefügt, die Ihnen ermöglicht, das Öffnen einer Projektdatei durch Doppelklicken zu deaktivieren (#4493).
  • Die Kontextmenüoption zum Bearbeiten einer Projektdatei enthält nicht mehr den Projektnamen; damit ist ein Problem behoben, durch das das Kontextmenü aufgrund sehr langer Projektnamen zu breit werden konnte (#1492).
  • Ein Fehler wurde behoben, durch den beim Erstellen einer Datenquelle mit der Datenbindungs-UI zwei .datasource erstellt wurden (#4485).
  • Ein Fehler wurde behoben, durch den die Aktualitätsprüfung bei Verwendung verknüpfter Dateien fehlschlagen konnte (#4580).
  • Eine Vielzahl von Fehlern bei der Paketauflösung und der Anzeige von deren aufgelösten/nicht aufgelösten Zuständen im Knoten „Abhängigkeiten“ wurden behoben (#2924,#4577).

Eine vollständige Liste behobener Probleme finden Sie unter Meilenstein 16.1 in GitHub.

Xamarin

  • Die Android-Standardbenutzeroberfläche wurde u. a. für Vorlagen, für das Erstellen von Geräten und für Installationsprogramme auf die API 28 aktualisiert.
  • IntelliSense unter Windows zeigt nun beim Schreiben von Xamarin.Forms-XAML Empfehlungen für Entwurfszeitattribute an.

Bekannte Probleme

Unter dem folgenden Link können Sie sich über alle Probleme und verfügbaren Problemumgehungen in Visual Studio 2019 Version 16.1 informieren.

Visual Studio 2019 Known Issues

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