Version 16.1 von Visual Studio 2019
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
- 9. Juli 2019 — Visual Studio 2019, Version 16.1.6
- 2. Juli 2019 — Visual Studio 2019, Version 16.1.5
- 25. Juni 2019 — Visual Studio 2019, Version 16.1.4
- 11. Juni 2019 — Visual Studio 2019, Version 16.1.3
- 4. Juni 2019 — Visual Studio 2019, Version 16.1.2
- 24. Mai 2019 — Visual Studio 2019, Version 16.1.1
- 21. Mai 2019 — Visual Studio 2019, Version 16.1
Visual Studio 2019-Blog
Im Visual Studio 2019-Blog finden Sie alle wichtigen Informationen zu Produkten direkt vom Visual Studio-Engineeringteam. In den folgenden Beiträgen finden Sie ausführliche Informationen zu den Visual Studio 2019-Releases:
- Visual Studio 2019 Version 16.1 und 16.2, Preview 1
- Visual Studio 2019: schneller programmieren. Intelligenter arbeiten. Die Zukunft gestalten.
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.
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
- Bekanntes Problem behoben: Mergetools in „Konflikte lösen“ nicht angezeigt
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
- Bekanntes Problem behoben: Der Workerprozess des Debuggers (msvsmon.exe) wurde unerwartet beendet. Das Debuggen wird abgebrochen.
- Bekanntes Problem behoben: Visual Studio 2019 stürzt beim Debuggen asynchronen Codes ab.
- Bekanntes Problem behoben: Xamarin-Problem nach Update auf Visual Studio 2019, Version 16.1
- Bekanntes Problem behoben: [Xcode11] [Simulator] Nach einem Update auf Xcode 11 kann der Simulator nicht mehr gestartet werden.
- Behoben: Ein Problem, das beim Öffnen von Projektmappen auftritt, sodass Visual Studio jetzt noch zuverlässiger funktioniert.
- Behoben: Visual Studio stürzt beim Suchen in den Fenstern „Lokal“, „Auto“ und „Überwachen“ ab, wenn sich die IDE nicht im Unterbrechungsmodus befindet.
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
- Bekanntes Problem behoben: Problem mit VSiX-Installer behoben, bei dem eine IOException ausgelöst wurde, wenn er aus dem Visual Studio-Installationsordner heraus ausgeführt wird.
- Bekanntes Problem behoben: Doppelte Aufforderung zur Befragung bei Deinstallation entfernt
- Hilfelink für neue Benutzer aktiviert, über den sie Hilfe bei der Wahl einer Workload erhalten können.
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
- Bekanntes Problem behoben: XAML-Designer für UWP – Steuerelementeigenschaften werden nicht angezeigt
- Bekanntes Problem behoben: Elemente im XAML-Designer für UWP werden beim Aktualisieren von XAML-Code nicht aktualisiert
- Bekanntes Problem behoben: XAML-Eigenschaften und -Dokumentstruktur
- Bekanntes Problem behoben: Im Eigenschaftenfenster werden die Eigenschaften beim Klicken auf ein Objekt nicht angezeigt
- Bekanntes Problem behoben: Eigenschaften von Elementen wurden nicht angezeigt
- Bekanntes Problem behoben: Installationsfehler beim Versuch, eine Verbindung mit dem Mac herzustellen: „Die auf ‚x‘ installierte Xamarin.iOS-Version (12.8.0.2) ist neuer als Ihre Version“
- Bekanntes Problem behoben: Absturzfehler beim Rechtsklicken auf den Namen der Projektmappe in der Visual Studio-Titelleiste
- Verbesserte Leistung für Kunden mit installierter Azure-Workload.
- Fehler, die bei Wiederherstellung und Erstellung von SDK-basierten Projekten auftraten, die SDKs von Drittanbietern für UWP-Zielplattformen verwenden, wurden behoben.
- Ein Fehler im C# Compiler wurde behoben, bei dem Kunden bei unvollständigen Schnittstellenimplementierungen nicht ordnungsgemäß gewarnt wurden.
- Verbesserte Fehlermeldungen in Visual Studio-Tools für Kubernetes.
- Fehler beim Hinzufügen eines Kommentars im Pull Request für SymbolCheck wurde behoben.
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
- Bekanntes Problem behoben: Benutzerdefinierte Tasks mit contextType-Standardelement über „tasks.vs.json“ sind bei „Ordner öffnen“ fehlerhaft
- Bekanntes Problem behoben: Während des Debuggens wurde keine Momentaufnahme für nativen C++-Code im Arbeitsspeicherauslastungstool im Fenster „Diagnosetools“ erstellt
- Bekanntes Problem behoben: Absturz von Visual Studio 16.1.0 beim Klicken auf „Online suchen“
- Behoben: Bestimmte Funktionen (z. B. „Alle Verweise suchen“) funktionieren in einigen Fällen in Gastsitzungen von LiveShare nicht.
- Behoben: Der devenv.exe-Prozess hängt nach dem Herunterfahren von Visual Studio noch für bis zu 30 Sekunden.
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++
- Dokumentation für CMake im Editor hinzugefügt.
- Verwenden Sie das Windows-Subsystem für Linux mit C++ nativ in Visual Studio sowie AddressSanitizer für Linux-Projekte und WSL.
- Verbesserungen und Änderungen an der Farbgebung in C++ QuickInfos vorgenommen.
- Neue Schnellkorrekturen für die C++-Codeanalyse implementiert.
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
- Die Android-Standardbenutzeroberfläche für Xamarin unterstützt nun die API 28.
- Es gibt nun XAML-Empfehlungen für Entwurfszeitattribute in Xamarin.Forms.
Wichtige in Visual Studio 2019, Version 16.1 behobene Probleme
- Bekanntes Problem behoben: Navigieren zu dem Symbol unter dem Caret in ASP.NET MVC-Projekten nicht möglich
- Bekanntes Problem behoben: Resx-Editor rendert nicht
- Bekanntes Problem behoben: „Alle Verweise suchen“ wird minimiert, wenn Pfeiltasten verwendet werden
- Bekanntes Problem behoben: Die Datei „obj\x64\Debug\Management.exe“ konnte nicht kopiert werden, da sie nicht gefunden wurde
- Bekanntes Problem behoben: Xamarin.iOS konnte das Anwendungsmanifest nicht finden. Please ensure the project contains a manifest file named 'Info.plist" (Xamarin.iOS konnte das Anwendungsmanifest nicht finden. Stellen Sie sicher, dass das Projekt eine Manifestdatei namens „Info.plist“ enthält).
- Bekanntes Problem behoben: Für die NMAKE-Umgebung fehlt der Pfad zu NETFX-Tools.
- Bekanntes Problem behoben: Durch Klicken auf ein ASP.NET Core-Projekt in der Projektmappe wird eine
csproj
-Projektdatei geöffnet - Bekanntes Problem behoben: [MSConnect 3142311] Visual Studio IDE 提示 E1449,但是代码能正常编译运行,结果也对 ->Visual Studio-IDE Eingabeaufforderung zeigt Fehler E1449, der Code kann jedoch normal kompiliert und ausgeführt werden, und das Ergebnis ist ebenfalls korrekt.
- Bekanntes Problem behoben: Der Assemblyverweis wird nach dem Ausführen einer App, die auf die Bibliothek verweist, aus dem Projekt entfernt
- Bekanntes Problem behoben: Beim Aktualisieren von Visual Studio 2019 von RC auf GA bleiben die RC-Tastenkombinationen für Visual Studio erhalten
Einzelheiten der Neuerungen in Visual Studio 2019 Version 16.1
IDE
- 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.
- 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.
Debugger
- 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.
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.
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.)
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.
- AddressSanitizer ist jetzt in Visual Studio für Linux-Projekte und WSL integriert.
- 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.
- Automatische Schnellkorrekturen für die Codeanalysewarnungen C6001: Nicht initialisierter Speicher wird verwendet <Variable> und C26494 VAR_USE_BEFORE_INIT sind über das Glühbirnenmenü in den entsprechenden Zeilen verfügbar, die im Native Microsoft-Mindestregelsatz bzw. den C++ Core Check Typenregelsätzen standardmäßig aktiviert sind.
- 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.
- Eine verbesserte Protokollierung für Remoteverbindungen erleichtert die Fehlerdiagnose mit plattformübergreifender Entwicklung.
- 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.
- 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.
- 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.
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()
undends_with()
fürbasic_string
/basic_string_view
.contains()
für assoziative Container.remove()
,remove_if()
undunique()
fürlist
undforward_list
geben nunsize_type
zurück.shift_left()
undshift_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“.
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 einerfor
-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 aufnetstandard2.0
undnet472
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.
- 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.
- Bei der Suche nach allen Verweisen verfügt die Spalte „Art“ jetzt über mehr Filteroptionen und achtet auf Namespaces und Typen.
- Codekorrektur für das Teilen/Zusammenführen von if-Anweisungen hinzugefügt.
- Codekorrektur für den Zeilenumbruch bei binären Ausdrücken vorgenommen.
- 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.
- Codekorrektur für das „Entsiegeln“ (Entschlüsseln) einer Klasse hinzugefügt.
- 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.
- 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.
- „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.
- 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.
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.