Visual Studio Icon Visual Studio 2019 – VersionshinweiseVisual Studio 2019 Release Notes


| Entwicklercommunity | Systemanforderungen | Kompatibilität | Verteilbarer Code | Lizenzbedingungen | Blogs | Bekannte Probleme || Developer Community | System Requirements | Compatibility | Distributable Code | License Terms | Blogs | Known Issues |


Klicken Sie auf eine Schaltfläche, um die aktuelle Version von Visual Studio 2019 herunterzuladen.Click a button to download the latest version of Visual Studio 2019. Anweisungen zum Installieren und Aktualisieren von Visual Studio 2019 finden Sie unter Aktualisieren von Visual Studio 2019 auf die neueste Version.For instructions on installing and updating Visual Studio 2019, see the Update Visual Studio 2019 to the most recent release. Sehen Sie sich auch die Anweisungen zur Offlineinstallation an.Also, see instructions on how to install offline.


Neues in Visual Studio 2019What's New in Visual Studio 2019

Visual Studio 2019-ReleasesVisual Studio 2019 Releases

Visual Studio 2019-BlogVisual Studio 2019 Blog

Im Visual Studio 2019-Blog finden Sie alle wichtigen Informationen zu Produkten direkt vom Visual Studio-Engineeringteam.The Visual Studio 2019 Blog is the official source of product insight from the Visual Studio Engineering Team. In den folgenden Beiträgen finden Sie ausführliche Informationen zu den Visual Studio 2019-Releases:You can find in-depth information about the Visual Studio 2019 releases in the following posts:


Release Notes Icon Visual Studio 2019, Version 16.1.3Visual Studio 2019 version 16.1.3 New release icon

Veröffentlichung: 11. Juni 2019released June 11, 2019

Zusammenfassung der Probleme, die in Visual Studio 2019, Version 16.1.3, behoben wurdenSummary of issues addressed in Visual Studio 2019 version 16.1.3New release icon


Release Notes Icon Visual Studio 2019, Version 16.1.2 Veröffentlichung: 04. Juni 2019Visual Studio 2019 version 16.1.2 released June 4, 2019

Zusammenfassung der Probleme, die in Visual Studio 2019, Version 16.1.2, behoben wurdenSummary of issues addressed in Visual Studio 2019 version 16.1.2


Release Notes Icon Visual Studio 2019 Version 16.1.1Visual Studio 2019 version 16.1.1

veröffentlicht am 24. Mai 2019released May 24, 2019

Zusammenfassung der Probleme, die in Visual Studio 2019, Version 16.1.1, behoben wurdenSummary of Issues addressed in Visual Studio 2019 version 16.1.1


Release Notes Icon Visual Studio 2019 Version 16.1Visual Studio 2019 version 16.1

veröffentlicht am 21. Mai 2019released May 21, 2019

Zusammenfassung der Neuerungen in Visual Studio 2019 Version 16.1Summary of What's New in Visual Studio 2019 version 16.1

IDEIDE

  • Visual Studio IntelliCode ist jetzt allgemein verfügbar und wird mit allen Workloads installiert, die C#, C++, TypeScript/JavaScript und XAML unterstützen.Visual Studio IntelliCode is now generally available and comes installed with any workload that supports C#, C++, TypeScipt/JavaScript, or XAML.
  • PMA-Unterstützung (Per-Monitor Awareness) hinzugefügt.Added Per-Monitor Awareness support.
  • Für C# sind neue Codekorrekturen verfügbar.New codefixes are available for C#.
  • Die Option „Zuletzt verwendet“ wurde der Suche in Visual Studio hinzugefügt.Most Recently Used has been added to Visual Studio Search.

DebuggerDebugger

  • Verbesserungen für die SourceLink-Authentifizierung wurden implementiert.Source Link authentication improvements have been implemented.
  • Zur Liste der Standardsymbolserver wurde der Symbolserver nuget.org hinzugefügt.Added nuget.org symbol server to the list of default symbol servers.
  • Die Vorschauversion des Tools „Time Travel Debugging“ enthält nun Unterstützung für die Einzelschrittausführung für Ausnahmen.Time Travel Debugging preview now includes exception stepping support.

ErweiterungenExtensibility

  • Eine RESX-Datei muss nicht mehr in VSIX-Projekten (BuildTools-Update) enthalten sein.Removed the need for .resx file in VSIX projects (BuildTools update).
  • VSIX-Projektvorlagen verwenden nun die neue SDK-Version.VSIX Project template now uses the new SDK version.

LeistungPerformance

  • Optimierung der Benutzererfahrung, die die Ladezeit bei sehr großen Projektmappen verkürzt.User optimization experience to improve the solution load time of very large solutions.
  • Vorlagenersteller können ihren Vorlagen benutzerdefinierte Tags hinzufügen.Template authors can add custom tags to their templates.
  • CodeLens wird nun für benutzerdefinierte Benutzeroberflächen unterstützt.CodeLens support for custom UI.
  • Die Implementierung des Sprachserverprotokolls wurde aktualisiert.Provided updates to Language Server Protocol implementation.
  • Das Verhalten für das Wechseln zwischen Projektmappen- und Ordneransichten sowie anderen Ansichten wurde aktualisiert.Updated behavior for switching between solutions, folders, and other views.

C++C++

F#F#

  • Leistungsverbesserungen und Programmfehlerbehebungen für F# und F# Tools freigegeben.Released performance improvements and a bulk of bug fixes for F# and F# tooling.

.NET.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.New .NET productivity features include one-click code cleanup on projects and solutions, a new toggle block comment keyboard shortcut, refactoring to move types to other namespaces.
  • Benutzer können nun Code aus einem SSH-URI über den Klonbildschirm im Startfenster klonen.Users can now clone code from an SSH URI through the clone screen in the start window.
  • 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.Additions to .NET Productivity include intellisense completion for unimported types, toggling single-line comment/uncomment, exporting naming styles to editorconfig, and a new code style setting for preferring usings inside/outside namspaces.
  • 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.Implemented .NET SDK tooling additions around supporting WinForms and WPF projects for .NET Core 3.0 along with bug fixes and performance improvements.
  • Die Visual Studio SDK-Version 16.0 wurde in NuGet veröffentlicht.Visual Studio SDK v16.0 released to NuGet.
  • Vorschau auf XAML-Designer für die .NET Core 3.0 WPF-Entwicklung freigegeben.Released a preview of the XAML Designer for .NET Core 3.0 WPF development.

XamarinXamarin

Wichtige in Visual Studio 2019, Version 16.1 behobene ProblemeTop Issues Fixed in Visual Studio 2019 version 16.1

Einzelheiten der Neuerungen in Visual Studio 2019 Version 16.1Details of What's New 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 is now generally available and comes installed with any workload that supports C#, C++, TypeScipt/JavaScript, or XAML.
  • IntelliCode-Vorschaufunktionen – benutzerdefinierte Modelle, C++/TS/JS-Unterstützung und Editorconfig-Inferenz – sind standardmäßig deaktiviert.Preview IntelliCode features - Custom Models, C++/TS/JS support, and Editorconfig inference - are disabled by default. Navigieren Sie zu „Extras“ > „Optionen“ > „IntelliCode“ , um sie zu aktivieren.To enable them, go to Tools > Options > IntelliCode.
  • Die Vorlage „Editorconfig (IntelliCode)“ aus dem Assistenten für neue Elemente entfernt.Removed the Editorconfig (IntelliCode) template from the New Item Wizard. 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) .To create an inferred Editorconfig, right-click on the desired location in Solution Explorer and choose Add > New EditorConfig (IntelliCode).
  • Verwenden Sie das Startfenster, um Code aus einem Onlinerepository über SSH zu klonen.Use the start window to clone code from an online repository through SSH.
Clone with SSH on start window
Klon mit SSH im StartfensterClone with SSH on start window
  • Visual Studio-IntelliCode wird standardmäßig installiert, wenn Sie eine Workload installieren, die C#, XAML oder C++ unterstützt.Visual Studio IntelliCode is installed by default when you install a workload that supports C#, XAML, or C++.
    • C#- und XAML-Basismodelle sind standardmäßig aktiviert.C# and XAML base models will be on by default.
    • Vorschaufeatures wie das benutzerdefinierte Modelltraining und die Argumentvervollständigung können über Extras > Optionen > IntelliCode aktiviert werden.Preview features, such as custom model training and argument completion, can be enabled via Tools > Options > IntelliCode.
  • PMA-Unterstützung (Per-Monitor Awareness) wurde hinzugefügt.Added Per-Monitor Awareness support
  • Für C# sind neue Codekorrekturen verfügbar.New codefixes available for C#.
  • Für das auf WinForms basierende PropertyBrowser-Fenster von Visual Studio wurde die PMA-Unterstützung (Per-Monitor Awareness) hinzugefügt.Added Per-Monitor Awareness support for WinForms based PropertyBrowser window of Visual Studio. Dafür muss .NET Framework 4.8 RTM auf dem Computer installiert sein.Requires .NET Framework 4.8 RTM version installed on the machine.
  • SourceLink kann nun die Windows-Authentifizierung verwenden, um die lokale TFS-Quellcodeverwaltung zu unterstützen.Source Link can now use Windows Authentication to support on-premises TFS Source Control.
  • Zur Liste der Standard-Symbolserver wurde der nuget.org-Symbolserver hinzugefügt.Added nuget.org symbol server to the list of default symbol servers

ProjektProject

  • Auf der Schaltfläche für das Wechseln der Ansichten im Projektmappen-Explorer wird nun dauerhaft ein Dropdownmenü aller möglichen Ansichten angezeigt.The button for switching the Solution Explorer view will now consistently shows a dropdown menu of all possible views.
Solution switching
Wechseln der ProjektmappenansichtSolution view switching
  • Die Ladezeit für sehr große Projektmappen wurde verbessert.Improved the loading time for very large solutions. Die Verbesserungen variieren je nach Größe einer jeweiligen Projektmappe.The improvement varies based on the size of the solutions.

  • Das Dialogfeld „Konvertieren“ unter „Datei > Konvertieren“ wurde entfernt.Removed the Convert dialog under File > Convert. Dieses Feature war zuvor in Visual Studio 2015 veraltet.This feature was previously deprecated in Visual Studio 2015.

  • 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.Updated the validation rules for the task.vs.json and launch.vs.json schemas, and added descriptions for the properties.

  • Unterstützung für das Linux-Remotedebuggen mithilfe eines benutzerdefinierten Programms über das Schema „launch.vs.json“ wurde hinzugefügt.Added support for Linux remote debugging using a custom program via launch.vs.json.

ErweiterbarkeitExtensibility

  • 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.Users can now use the latest version of the Microsoft.VisualStudio.SDK to target Visual Studio 2019 in your extensions. Denken Sie daran, nur dann diese SDK-Version zu verwenden, wenn die niedrigste unterstützte Version von Visual Studio die Version 16.0 ist.Remember to only use this version of the SDK if the lowest supported version of Visual Studio is 16.0.
  • Beim Erstellen neuer VSIX-Projekte ist die 16.0-Version des Microsoft.VisualStudio.SDK-NuGet-Pakets nun enthalten.Creating new VSIX projects will now contain the 16.0 version of the the Microsoft.VisualStudio.SDK NuGet package.
  • 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.Users can now add tags to your project templates to enable categorization and filtering in the Visual Studio 2019 New Project Dialog. Benutzer können eines der integrierten Tags oder eigene, benutzerdefinierte Tags für die Programmiersprache, die Plattform und den Projekttyp auswählen.Users can also choose from the built-in tags or their own custom language, platform, and project type tags.
Template tagging
Vorlagen mit Tags versehenTemplate tagging
  • CodeLens-Erweiterungen können nun in ihrem CodeLens-Details-Popup beliebigen Inhalt der Benutzeroberfläche anzeigen.CodeLens extensions can now display arbitrary UI content in their CodeLens details popup.

  • Für das Sprachserverprotokoll wurden die folgenden Updates vorgenommen:Updated Language Server Protocol with:

    • Unterstützung für projektierte Puffer, um das Sprachserverprotokoll für Inline-Diff zu aktivieren, und Razor-Dateien in LiveShare wurde hinzugefügt.Support for projected buffers to enable LSP for inline diff, and Razor files in LiveShare.
    • Unterstützung für nicht notwendige DiagnosenSupport for unnecessary diagnostics.
    • Unterstützung für textDocument/typeDefinitionSupport for textDocument/typeDefinition.
    • Unterstützung für textDocument/foldingRange (Gliederung)Support for textDocument/foldingRange (outlining).
  • Eine RESX-Datei muss nicht mehr in VSIX-Projekten (BuildTools-Update) enthalten sein.Removed the need for .resx file in VSIX projects (BuildTools update)

  • 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.The Microsoft.VSSDK.BuildTools NuGet package will now provide an empty .resx file as part of the build if no .resx with MergeWithCTO property exist. Bei den meisten Erweiterungen wird zum Zusammenführen keine RESX-Datei verwendet oder benötigt. Dadurch bleibt das Projekt übersichtlicher.Most extensions don't use or need a .resx file to merge, so this will keep the project cleaner.

  • Die Änderungen bei PMA hat möglicherweise Auswirkungen auf einige Erweiterungen.Per-monitor awareness changes might affect some extensions. Erfahren Sie mehr zur PMA-Unterstützung für Visual Studio-Extendersteuerelementen.Learn more about Per-Monitor Awareness support for Visual Studio extenders.

EditorEditor

  • 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.Visual Studio Search will now display on focus the three most recently used actions invoked through Visual Studio Search, as shown in this sample mockup. (Hinweis: Symbole und bestimmte Zeilenelemente wurden in diesem Modell noch nicht vollständig aktualisiert.)
    (Note: icons and specific line items have not been fully updated in this mock-up.)
    Visual Studio Search
    Modell der Suche in Visual StudioMock-up of Visual Studio Search

C++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.Use local Windows Subsystem for Linux (WSL) installation with C++ natively in Visual Studio without additional configuration or SSH connection.
Windows Subsystem for Linux
Windows-Subsystem für LinuxWindows Subsystem for Linux
  • AddressSanitizer ist jetzt in Visual Studio für Linux-Projekte und WSL integriert.AddressSanitizer is now integrated into Visual Studio for Linux projects and WSL.
ASan integration
ASan IntegrationASan integration
  • Benutzer können nun Remotebuildcomputer von Remotedebugcomputern trennen, wenn Sie für Linux entwickeln (wird für MSBuild- und CMake-Projekte unterstützt).Users can now separate remote build machines from remote debug machines when targeting Linux in both MSBuild and CMake projects.
  • QuickInfos enthalten nun einen Link zur Suche nach Onlinedokumenten, um mehr über das Codekonstrukt zu erfahren.Quick Info tooltips now contain a link to search for online docs to learn more about the code construct. Im Falle von rot-gestricheltem Code sucht der Link in der QuickInfo online nach dem Fehler.In the case of red-squiggled code, the link in Quick Info will search for the error online.
  • Code innerhalb von QuickInfos wird nun farbig dargestellt, um seine Farbgebung im Editor widerzuspiegeln.Code within Quick Info tooltips is now colorized to reflect its colorization in the editor.
Colorized code in Quick Info tooltips
Farbiger Code in QuickInfosColorized code in Quick Info tooltips
New Code Analysis quick fixes
Neue Schnellkorrekturen für die CodeanalyseNew Code Analysis quick fixes
  • 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, including support for Windows Subsystem for Linux (WSL) and configurations from existing caches, changes to the default build and install roots, and support for environment variables in Linux CMake configurations.
Improvements to the CMake Settings Editor
Verbesserungen für den Editor für CMake-EinstellungenImprovements to the CMake Settings Editor
  • Eine verbesserte Protokollierung für Remoteverbindungen erleichtert die Fehlerdiagnose mit plattformübergreifender Entwicklung.Improved logging for remote connections makes it easier to diagnose issues with cross-platform development.
Improved logging for remote connections
Verbesserte Protokollierung für RemoteverbindungenImproved logging for remote connections
  • 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).You can now separate your remote build machine from your remote debug machine when targeting Linux (specific to MSBuild projects, coming soon for CMake).
  • Die Vorlagenleiste kann das Dropdownmenü nun auf Grundlage der Instanziierungen dieser Vorlage in Ihrer Codebasis auffüllen.The Template Bar can populate the dropdown menu based on instantiations of that template in your codebase.
New Template Bar dropdown menu
Neues Dropdownmenü „Vorlagenleiste“New Template Bar dropdown menu
  • C++-IntelliCode wird nun mitgeliefert und kann unter Extras > Optionen > IntelliCode > Allgemein aktiviert werden.C++ IntelliCode now ships in-box and can be enabled under Tools > Options > IntelliCode > General. Diese IntelliCode-Version ist noch genauer und beinhaltet Unterstützung für freie Funktionen.This version of IntelliCode has improved accuracy and includes support for free-functions.
  • Die CMake-Integration unterstützt nun die Clang/LLVM-Toolkette für Projekte, die Windows und/oder Linux unterstützen.CMake integration now supports the Clang/LLVM toolchain for projects targeting Windows and/or Linux. Sie können CMake-Projekte erstellen, bearbeiten und debuggen, die entweder Clang, MSVC (Microsoft Visual C++) oder GCC verwenden.You can now build, edit, and debug CMake projects that use either Clang, MSVC, or GCC.
CMake integration supports the Clang/LLVM toolchain
Die CMake-Integration unterstützt die Clang/LLVM-ToolketteCMake integration supports the Clang/LLVM toolchain
  • 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.Lightbulbs for missing #includes that can be installed by vcpkg, and autocompletion of available packages for the CMake find_package directive.
Autocompletion of available packages
Automatische Vervollständigung verfügbarer PaketeAutocompletion of available packages
  • Die mit Visual Studio gelieferte CMake-Version wurde auf die Version 3.14 aktualisiert.Updated the CMake version that ships with Visual Studio to 3.14. 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.This version adds built-in support for MSBuild generators targeting Visual Studio 2019 projects as well as file-based IDE integration APIs.

  • Die allgemeine Eigenschaftenseiten für C++-Projekte wurde überarbeitet, und einige Optionen auf eine neue Seite „Erweitert“ verlagert.The General Property Pages for C++ projects has been revised, splitting out some options under a new Advanced page. Die Seite „Erweitert“ beinhaltet auch zusätzliche Eigenschaften für die bevorzugte Toolset-Architektur, Debugbibliotheken, die Nebenversion des MSVC-Toolsets und Unity-Builds (Jumbo).The Advanced page also includes additional properties for preferred toolset architecture, debug libraries, the MSVC toolset minor version, and Unity (jumbo) builds.

  • Die folgenden C++20-Vorschaufeatures wurden unserer Implementierung der C++-Standardbibliothek hinzugefügt und sind unter /std:c++latest verfügbar:The following C++20 preview features have been added to our implementation of the C++ Standard Library, available under /std:c++latest:

    • starts_with() und ends_with() für basic_string/basic_string_view.starts_with() and ends_with() for basic_string/basic_string_view.
    • contains() für assoziative Container.contains() for associative containers.
    • remove(), remove_if() und unique() für list und forward_list geben nun size_type zurück.remove(), remove_if(), and unique() for list and forward_list now return size_type.
    • shift_left() und shift_right() wurden <algorithm> hinzugefügt.shift_left() and shift_right() added to <algorithm>.
  • Die folgenden C++20-Vorschaufeatures wurden im C++-Compiler implementiert und sind unter /std:c++latest verfügbar:The following C++20 preview features have been implemented in the C++ compiler, available under /std:c++latest:

    • Die Möglichkeit, Funktionsvorlagen über argumentbezogene Suchen nach Funktionsaufrufausdrücken zu suchen, wurde mit expliziten Vorlagenargumenten erweitert (P0846R0).Increased ability to find function templates via argument-dependent lookup for function call expressions with explicit template arguments (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.Designated initialization (P0329R4), which allows specific members to be selected in aggregate initialization, e.g. using the Type t { .member = expr } syntax.
  • Die Lambdaunterstützung wurde überholt und dabei viele schon lang bestehende Fehler behoben.Lambda support has been overhauled, addressing a large number of long-standing bugs. Diese Änderung ist bei Verwendung von /std:c++latest standardmäßig aktiviert.This change is enabled by default when using /std:c++latest. In anderen /std:c++*-Sprachmodi und im Standardmodus kann der neue Parser über /experimental:newLambdaProcessor aktiviert werden, z. B. /std:c++17 /experimental:newLambdaProcessor.In other /std:c++* language modes and under the default mode, the new parser can be enabled via /experimental:newLambdaProcessor, e.g. /std:c++17 /experimental:newLambdaProcessor.

  • Dokumentation für CMake im EditorIn-editor documentation for CMake

  • Vervollständigungen und QuickInfos für integrierte Befehle, Variablen und Eigenschaften von CMake erleichtern die Bearbeitung Ihrer Dateien vom Typ „CMakeLists.txt“.Completions and quick info for built-in CMake commands, variables, and properties make it easier to edit your CMakeLists.txt files.

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

F# und F#-ToolsF# and F# tools

Dies ist eine relativ kleine Version für die Sprache F# und F#-Tools, aber sie enthält dennoch einige Leckerbissen!This is a relatively minor release for the F# language and tools, but it's not without some goodies! Wie beim VS 16.0-Update konzentrierte sich auch diese Version auf die Leistung der Editor-Tools.As with the VS 16.0 update, this release also focused on performance of editor tooling.

F#-Compiler und F# InteractiveF# compiler and F# interactive
  • P/Invoke-Unterstützung für F# Interactive zu .NET Core (#6544) hinzugefügtAdded P/Invoke support to F# interactive on .NET Core (#6544)
  • Compileroptimierung für Span<'T> bei Verwendung in einer for-Schleife hinzugefügt (#6195)Added a compiler optimization for Span<'T> when used in a for loop (#6195)
  • Optimierung hinzugefügt, um überschüssige Some-Zuordnungen für F#-Optionen in verschiedenen Szenarien zu vermeiden (#6532)Added an optimization to avoid an extraneous Some allocations for F# options in various scenarios (#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)Changed the execution order of expressions used in the instantiation of Anonymous Records to be top-to-bottom, rather than alphabetical, to match the current experience with normal Records (#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)A bug where very large literal expressions or very large struct declarations could cause the compiler to stack overflow on build has been resolved (#6258)
  • Ein Fehler wurde behoben, bei dem Breakpoints beim Debuggen einer Funktion mit einem anonymen Datensatz nicht mehr ausgelöst wurden (#6512)A bug where breakpoints would no longer trigger when debugging a function with an Anonymous Records has been fixed (#6512)
  • Ein Fehler wurde behoben, bei dem an Konstrukte übergebene anonyme Datensätze, die einen obj-Parameter erwarten, einen Compilerabsturz verursachten (#6434)A bug where Anonymous Records passed to constructs expecting an obj parameter caused a compiler crash has been fixed (#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)A bug where for var expr1 to expr2 do ... loops could result in bizarrely valid (and discarded) syntax has been fixed (#6586)
  • Ein Fehler, bei dem anonyme Datensätze mit Ereignissen nicht richtig verwendet werden konnten, wurde behoben (#6572)A bug where Anonymous Records could not be used properly with events has been fixed (#6572)
  • Ein seit langem auftretender Fehler durch extrem große generierte Analysen in FsLexYacc (über 100 Millionen Zeilen) wurde behoben (#5967A longstanding bug where extremely large generated parsers in FsLexYacc (over 100 million lines) has been resolved (#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)A longstanding issue in the Type Provider plugin component of the compiler that could leave the door open for a memory leak caused by a type provider has been resolved (#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)Support for --pathmap was added to the F# compiler by Saul Rennison, which resolves an issue where the resulting executable from a compilation would include absolute paths to source files in the embedded F# signature file resource (#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)An optimization to the F# AST that improves its consumption via other tools and enviroments (e.g., Fable) has been added by ncave (#6333)
  • Eine Optimierung rund um das Durchlaufen von Informationen bei der Auflösung von Elementen wurde von Steffen Forkmann hinzugefügt (#4457)An optimization around traversing information when resolving members has been added by Steffen Forkmann (#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)An improvement to error messages such that when a type implementation is missing necessary overrides a list of those missing overrides is reported has been added by Gauthier Segay (#4982)
F#-ToolsF# 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 erleichternThe Target Framework dropdown for F# projects in the .NET SDK will now include values for all available .NET Core, .NET Standard, and .NET Framework values to ease migrating to .NET Core from .NET Framework on the .NET SDK
  • Ein Fehler wurde behoben, bei dem das Umbenennen generischer Typparameter Namen mit doppelten invertierten Hochkommas als Escapezeichen erzeugte (#5389)A bug where renaming generic type parameters produces double backtick-escaped names has been fixed (#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)A longstanding problem where Type Providers were redundantly reinstantiated, causing massive allocations over time, has been resolved (#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)A longstanding issue where reading IL needlessly allocated 20MB over a short period of time was been resolved (#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)A bug where the method GetToolTipText in the F# compiler service could show the same XML signature for several member overloads has been resolved by Vasily Kirichenko (#6244)
Open Source-Infrastruktur für F#F# open source infrastructure

Schließlich wurde die Umgebung für Beiträge durch folgende Maßnahmen verbessert:Finally, we improved the contribution experience by doing the following:

  • 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önnenCompleted our build from source process so that the F# compiler and core library can be built with the .NET Core source build repository
  • Wir haben unsere Abhängigkeit von netstandard1.6 entfernt, sodass die gesamte Codebasis einheitlich auf netstandard2.0 und net472 abzieltRemoved our dependency on netstandard1.6 so that the entire codebase uniformly targets netstandard2.0 and net472
  • 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 erfordertAdded a .vsconfig file to the root of the repository so that contributors using Visual Studio don't have to know everything that needs installing up front
  • 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 seinRewrote our project's README to remove potentially confusing information, include a quickstart for getting started with contributing, and attempting to be more inclusive in our messaging about the kinds of changes we'd love to take

.NET-Produktivität.NET Productivity

  • Es gibt jetzt eine experimentelle IntelliSense-Vervollständigung für nicht importierte Typen.There is now experimental intellisense completion for unimported types! 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.Uers now receive intellisense suggestions for types in dependencies in projects even if they have not yet added the import statement to the file. Aktivieren Sie diese Option in Extras > Optionen > Text-Editor > C# > IntelliSense.Turn this option on in Tools > Options > Text Editor > C# > Intellisense.
Intellisense completion for unimported types
IntelliSense-Vervollständigung für nicht importierte TypenIntellisense completion for unimported types
  • Das Umschalten zwischen einzeiliger Auskommentierung/Aufheben der Auskommentierung ist nun über eine Tastenkombination (STRG+K,/) verfügbar.Toggle Single Line Comment/Uncomment is now available through the keyboard shortcut (Ctrl+K,/). Dieser Befehl fügt einen einzeiligen Kommentar hinzu oder entfernt ihn, je nachdem, ob Ihre Auswahl bereits auskommentiert ist.This command will add or remove a single line comment depending on whether your selection is already commented.
  • Benutzer können Benennungsstile jetzt mit der Schaltfläche „editorconfig generieren“ exportieren, die sich unter Extras > Optionen > Text-Editor > C# > Codeformat befindet.Ability to export naming styles with the “Generate editorconfig” button located in Tools > Options > Text Editor > C# > Code Style.
  • Benutzer können nun eine neue editorconfig-Codeformatregel verwenden, um „using-Direktiven“ innerhalb eines Namespace zu verlangen oder zu verhindern.Ability to use a new editorconfig code style rule to require or prevent usings inside a namespace. Diese Einstellung wird bei Klicken auf die Schaltfläche „editorconfig generieren“ unter Extras > Optionen > Text-Editor > C# > Codeformat ebenfalls exportiert.This setting will also be exported when using the “Generate editorconfig” button located in Tools > Options > Text Editor > C# > Code Style.
Editorconfig rule for usings outside/inside namespaces
Editorconfig-Regel für Verwendungen außerhalb/innerhalb von NamespacesEditorconfig rule for usings outside/inside namespaces
Tools Options setting for usings inside/outside namespace
Einstellung unter „Optionen“ > „Extras“ für Verwendungen außerhalb/innerhalb von NamespacesTools Options setting for usings inside/outside namespace
  • Bei der Suche nach allen Verweisen verfügt die Spalte „Art“ jetzt über mehr Filteroptionen und achtet auf Namespaces und Typen.The Find All References “Kind” column now has more filter options and is aware of namespaces and types.
Find All References Kind column has more filter options
Bei der Suche nach allen Verweisen verfügt die Spalte „Art“ über mehr FilteroptionenFind All References Kind column has more filter options
  • Codekorrektur für das Teilen/Zusammenführen von if-Anweisungen hinzugefügt.Added a codefix for split/merge if statements.
Split or merge if statements
Teilen oder Zusammenführen von if-AnweisungenSplit or merge if statements
  • Codekorrektur für den Zeilenumbruch bei binären Ausdrücken vorgenommen.Added a codefix for wrapping binary expressions.
Wrap binary expressions
Zeilenumbruch bei binären AusdrückenWrap binary expressions
  • Aus der Zeichenfolge eines regulären Ausdrucks (RegEx) kann nun über das IntelliSense-Menü (STRG+LEERTASTE) auf eine RegEx-Vervollständigungsliste zugegriffen werden.A regex completion list can now be accessed through the intellisense menu (Ctrl + space) when inside a regex string. Diese Vervollständigungen enthalten auch eine Inline-Beschreibung der Wirkungsweise des Vorschlags.These completions also include an in-line description of what the suggestion does.
Regex completion offered in Intellisense with (Ctrl + space)
RegEx-VervollständigungRegex completion
  • Codekorrektur für das „Entsiegeln“ (Entschlüsseln) einer Klasse hinzugefügt.Added a codefix for unsealing a class.
Unseal a class codefix
Entsiegeln einer KlasseUnseal a class
  • Sie können mit nur einem Klick die Codebereinigung von Projekten und Projektmappen bewerkstelligen.Use one-click code cleanup for projects and solutions. 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 on projects or the solution in the Solution Explorer and select ‘Run Code Cleanup’.
Right-click to run code cleanup over the entire solution
Rechtsklicken, um die Codebereinigung für die gesamte Projektmappe auszuführenRight-click to run code cleanup over the entire solution
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 angezeigtA dialog is present box while cleanup is applied to each file
  • Verwenden Sie nun ein Dialogfeld für das Refactoring, um Typen in einen Namespace oder einen Ordner zu verschieben.Now use a refactoring dialog to move type to namespace or folder. 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.Place your cursor in the class name and type (Ctrl + .) to open the quick actions and refactorings menu and select ‘Move to namespace.’ Dadurch wird ein Dialogfeld geöffnet, in dem Sie den Zielnamespace auswählen können, in den Sie den Typ verschieben möchten.This launches a dialog where you can select the target namespace you would like to move the type to.
Place cursor in class name and type (Ctrl+.) to view refactorings
Platzieren des Cursors auf den Klassennamen, und Eingeben von (STRG+.), um die Refactorings anzuzeigenPlace cursor in class name and type (Ctrl+.) to view refactorings
Select the destination namespace
Auswählen des ZielnamespaceSelect the destination namespace
  • „Blockkommentar umschalten“/„Auskommentierung aufheben“ ist jetzt über die Tastenkombination (STRG+SHIFT+/) verfügbar oder über Bearbeiten > Erweitert > Blockkommentar umschalten.Toggle Block Comment/Uncomment is now available through the keyboard shortcut (Ctrl+Shift+/) or through Edit > Advanced > Toggle Block Comment. Dieser Befehl fügt Blockkommentare hinzu oder entfernt sie, je nachdem, was Sie ausgewählt haben.This command will add or remove block comments depending on what you have selected.
Toggle block comment with (Ctrl+Shift+/)
Umschalten von Blockkommentaren mit (STRG+SHIFT+/)Toggle block comment with (Ctrl+Shift+/)
  • Es gibt nun einen Codefix, um schreibgeschützte Strukturfelder schreibbar zu machen.There is now a codefix for making readonly struct fields writable. 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.Place your cursor in the struct name, type (Ctrl+.) to open the quick actions and refactorings menu, and select ‘Make readonly fields writable.’
  • 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.The codefix to add a private field from a constructor and vice versa is easier to discover and will show when any portion of the field name is selected. Dieses Refactoring bietet nun auch alle möglichen Konstruktoren.This refactoring now also offers all possible constructors.

XAML-Designer-Vorschauversion für .NET Core 3.0 WPF-EntwicklungXAML Designer Preview for .NET Core 3.0 WPF development

  • Es gibt eine frühe Vorschauversion von XAML-Designer für Entwickler, die.NET Core 3.0 WPF-Anwendungen in Visual Studio erstellen.There is an early preview of the XAML Designer for developers building .NET Core 3.0 WPF applications in Visual Studio. Viele Entwurfszeitfeatures sind zu diesem Zeitpunkt nicht verfügbar.Many design-time features will be unavailable at this time. 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.Since this is an early preview, if you encounter issues such as crashes, please submit Visual Studio feedback for the team to improve the experience going forwards.
  • 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.With each update to Visual Studio 2019, we will continue implementing more of the features that were previously available in the XAML Designer for .NET Framework WPF applications.

.NET SDK-Tools.NET SDK tooling

Bei dieser Version war es aufwendig, die Blockierung der Verwendung von WPF in .NET Core aufzuheben:This release included a lot of work to unblock the use of WPF on .NET Core:

  • 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).An issue where an error dialog popped up whenever you add a new item to a .NET Core WinForms or WPF project was been resolved (#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.Support for XAML files in .NET SDK projects (#1467) which includes many smaller items of work aimed at achieving experience parity with old-style .NET projects.
  • Kontextmenüelement-Unterstützung für WinForms in .NET Core (#137): Windows-Formular, -Benutzersteuerelement, -Komponente und -Klasse.Context menu item support for WinForms on .NET Core (#137): Windows Form, User Control, Component, and Class.
  • Kontextmenüelement-Unterstützung für WPF in .NET Core (#137): Fenster, Seite, Benutzersteuerelement, Ressourcenwörterbuch.Context menu item support for WPF on .NET Core (#137): Window, Page, User Control, Resource Dictionary.
  • Das Fenster „Datenquellen“ ist nun für .NET SDK-Projekte aktiviert, wodurch allgemeine Datenverwaltungsszenarien für WinForms möglich werden (#4479.The Data Sources window is now enabled for .NET SDK projects, enabling common data management scenarios for WinForms (#4479.

Unabhängig davon wurde eine Vielzahl von weiteren Fixes in dieser Version hinzugefügt:Separately, a variety of other fixes were added in this release:

  • .NET SDK-Projekte unterstützen jetzt .razor-Dateien (#4468)..NET SDK projects now support .razor files (#4468).
  • Barrierefreier Hilfetext, der von der Bildschirmsprachausgabe gelesen werden kann, wurde zur Debug-Eigenschaftenseite hinzugefügt (#4568).Accessible help text was added to the Debug property page, allowing it to be read by screen readers (#4568).
  • Eine Einstellung wurde hinzugefügt, die Ihnen ermöglicht, das Öffnen einer Projektdatei durch Doppelklicken zu deaktivieren (#4493).We added a setting that allows you to disable double-click to open a project file (#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).The context menu option to edit a project file no longer includes the project name, fixing an issue where the context menu could get too wide due to a very long project name (#1492).
  • Ein Fehler wurde behoben, durch den beim Erstellen einer Datenquelle mit der Datenbindungs-UI zwei .datasource erstellt wurden (#4485).A bug where creating a Data Source with the Data Binding UI created two .datasource fileas has been fixed (#4485).
  • Ein Fehler wurde behoben, durch den die Aktualitätsprüfung bei Verwendung verknüpfter Dateien fehlschlagen konnte (#4580).A bug where using linked files could cause the up-to-date checker to fail has been resolved (#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).A variety of bugs involving package resolution and the display of their resolved/unresolved state in the Dependencies node have been fixed (#2924,#4577).

Eine vollständige Liste behobener Probleme finden Sie unter Meilenstein 16.1 in GitHub.You can see a full list of closed issues by going to the 16.1 milestone on GitHub.

XamarinXamarin

  • 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.Updated the default Android Experience to API 28 for templates, device creation, installers, and more.
  • IntelliSense unter Windows zeigt nun beim Schreiben von Xamarin.Forms-XAML Empfehlungen für Entwurfszeitattribute an.IntelliSense on Windows now shows recommendations for design-time attributes when writing Xamarin.Forms XAML.

Bekannte ProblemeKnown Issues

Unter dem folgenden Link können Sie sich über alle Probleme und verfügbaren Problemumgehungen in Visual Studio 2019 Version 16.1 informieren.See all issues and available workarounds in Visual Studio 2019 version 16.1 by following the below link.

Visual Studio 2019 Known Issues


FeedbackFeedback

Wir freuen uns auf Ihr Feedback!We would love to hear from you! 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.For issues, let us know through the Report a Problem option in the upper right-hand corner of either the installer or the Visual Studio IDE itself. DieThe Feedback Icon Symbol befindet sich in der oberen rechten Ecke.icon is located in the upper right-hand corner. 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.You can make a product suggestion or track your issues in the Visual Studio Developer Community, where you can ask questions, find answers, and propose new features. Über unseren Livechatsupport erhalten Sie zudem kostenlose Hilfe bei der Installation.You can also get free installation help through our Live Chat support.


BlogsBlogs

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.Take advantage of the insights and recommendations available in the Developer Tools Blogs site to keep you up-to-date on all new releases and include deep dive posts on a broad range of features.


Visual Studio 2019: Verlauf der Anmerkungen zu dieser VersionVisual Studio 2019 Release Notes History

Weitere Informationen bezüglich der früheren Versionen von Visual Studio 2019 finden Sie auf der Seite Visual Studio 2019: Verlauf der Versionsanmerkungen.For more information relating to past versions of Visual Studio 2019, see the Visual Studio 2019 Release Notes History page.


Seitenanfang
Top of Page