Visual Studio IconVisual Studio 2019 Version 16.01 – Versionshinweise


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


Hinweis

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



Neues in Visual Studio 2019 Version 16.0

Supportzeitrahmen

Für Visual Studio 2019 Version 16.0 wird jetzt kein Support mehr geleistet.

Enterprise- und Professional-Benutzer von Visual Studio 2019 Version 16.0 erhielten bis Januar 2021 Support und Fixes für Sicherheitsrisiken. Dieser Zeitrahmen ergibt sich daraus, dass Visual Studio 2019 Version 16.4 im Dezember 2019 als nächste Wartungsbaseline für das Visual Studio 2019-Produkt festgelegt wurde. Weitere Informationen zu den unterstützten Visual Studio-Baselines 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.0 – Releases

Visual Studio 2019-Blog

Im Visual Studio 2019-Blog finden Sie alle wichtigen Informationen zu Produkten direkt vom Visual Studio-Engineeringteam. Dort finden Sie ausführliche Informationen zu den Visual Studio 2019-Releases.


Release Notes Icon Visual Studio 2019, Version 16.0.22

Veröffentlichung: 12. Januar 2020

Sicherheitshinweis für Version 16.0.22

CVE-2021-1651 / CVE-2021-1680 Sicherheitsrisiko durch Rechteerweiterungen beim Standardcollectordienst für den Diagnosehub

Wenn der Diagnostics Hub Standard Collector bestimmte Datenvorgänge nicht ordnungsgemäß verarbeitet, besteht ein Sicherheitsrisiko durch Rechteerweiterungen.

CVE-2020-26870: Sicherheitsrisiko durch Remotecodeausführung im Visual Studio-Installer

Es besteht ein Sicherheitsrisiko bei der Remotecodeausführung, wenn der Visual Studio-Installer versucht, schädlichen Markdowncode anzuzeigen.


Release Notes Icon Visual Studio 2019, Version 16.0.21

Veröffentlichung: 08. Dezember 2020

Sicherheitshinweis für Version 16.0.21

CVE-2020-17156: Sicherheitsrisiko durch Remotecodeausführung in Visual Studio

Wenn Visual Studio ein schädliches Repository klont, besteht eine Sicherheitsrisiko durch Remotecodeausführung.


Release Notes Icon Visual Studio 2019, Version 16.0.20

Veröffentlichung: 10. November 2020

Sicherheitshinweis für Version 16.0.20

CVE-2020-17100 Sicherheitsanfälligkeit in Visual Studio

Eine Manipulationsanfälligkeit besteht, wenn die Python Tools für Visual Studio den Ordner „python27“ erstellen. Ein Angreifer, der dieses Sicherheitsrisiko erfolgreich ausnutzt, könnte Prozesse in einem Kontext mit erhöhten Rechten ausführen.


Release Notes Icon Visual Studio 2019, Version 16.0.19

Veröffentlichung: 13. Oktober 2020

In diesem Release von 16.0.19

  • .NET Code SDK 2.1.616 zu Visual Studio 2019 hinzugefügt.

Release Notes Icon Visual Studio 2019, Version 16.0.18

Veröffentlicht am 8. September 2020

In Version 16.0.18 behobenes Problem

  • Nicht mehr unterstützte Versionen von .NET Core werden während einer Reparatur oder eines Upgrades nicht mehr erneut installiert, wenn Sie außerhalb des VS-Setups entfernt wurden.

Sicherheitshinweis für Version 16.0.18

CVE-2020-1130: Sicherheitsrisiko durch Rechteerweiterungen beim Standardcollector für den Diagnosehub

Wenn der Diagnosehub-Standardcollector bestimmte Datenvorgänge nicht ordnungsgemäß verarbeitet, besteht ein Sicherheitsrisiko durch Rechteerweiterungen. Ein Angreifer, der dieses Sicherheitsrisiko erfolgreich ausnutzt, könnte Prozesse in einem Kontext mit erhöhten Rechten ausführen.

CVE-2020-1133: Sicherheitsrisiko durch Rechteerweiterungen beim Standardcollector für den Diagnosehub

Wenn der Diagnosehub-Standardcollector bestimmte Dateivorgänge nicht ordnungsgemäß verarbeitet, besteht ein Sicherheitsrisiko durch Rechteerweiterungen. Ein Angreifer, der dieses Sicherheitsrisiko erfolgreich ausnutzt, könnte Prozesse in einem Kontext mit erhöhten Rechten ausführen.

CVE-2020-16856: Sicherheitsrisiko durch Remotecodeausführung in Visual Studio

In Visual Studio ist ein Sicherheitsrisiko für Remotecodeausführung vorhanden, wenn Objekte im Arbeitsspeicher nicht ordnungsgemäß verarbeitet werden. Ein Angreifer, der dieses Sicherheitsrisiko erfolgreich ausgenutzt hat, kann beliebigen Code im Kontext des aktuellen Benutzers ausführen.

CVE-2020-16874: Sicherheitsrisiko durch Remotecodeausführung in Visual Studio

In Visual Studio ist ein Sicherheitsrisiko für Remotecodeausführung vorhanden, wenn Objekte im Arbeitsspeicher nicht ordnungsgemäß verarbeitet werden. Ein Angreifer, der dieses Sicherheitsrisiko erfolgreich ausgenutzt hat, kann beliebigen Code im Kontext des aktuellen Benutzers ausführen.

CVE-2020-1045: Sicherheitsrisiko durch Umgehung der Microsoft ASP.NET Core-Sicherheitsfeatures

Ein Sicherheitsrisiko durch eine Sicherheitsfunktionsumgehung besteht durch die Art und Weise, wie Microsoft ASP.NET Core verschlüsselte Cookienamen analysiert. Der ASP.NET Core-Cookieparser decodiert ganze Cookiezeichenfolgen, wodurch ein böswilliger Angreifer ein zweites Cookie mit dem prozentcodierten Namen festlegen kann.


Release Notes Icon Visual Studio 2019, Version 16.0.17

Veröffentlichung: 11. August 2020

In Version 16.0.17 behobenes Problem

Sicherheitshinweis für Version 16.0.17

CVE-2020-1597: Sicherheitsrisiko durch Denial-of-Service-Angriffe in ASP.NET Core

Ein Denial-of-Service-Sicherheitsrisiko besteht, wenn ASP.NET Core Webanforderungen nicht ordnungsgemäß verarbeitet. Ein Angreifer, der dieses Sicherheitsrisiko erfolgreich ausnutzt, kann ein Denial-of-Service einer ASP.NET Core-Webanwendung verursachen. Dieses Sicherheitsrisiko kann remote ohne Authentifizierung ausgenutzt werden.


Release Notes Icon Visual Studio 2019, Version 16.0.16

Veröffentlichung: 14. Juli 2020

In Version 16.0.16 behobene Probleme

Sicherheitshinweis für Version 16.0.16

CVE-2020-1393: Sicherheitsrisiko durch Rechteerweiterungen beim Standardcollectordienst für den Diagnosehub

Ein Sicherheitsrisiko durch Rechteerweiterungen liegt vor, wenn der Windows-Diagnosehub-Standardsammlungsdienst Eingaben nicht ordnungsgemäß bereinigt, sodass in Folge ein unsicheres Ladeverhalten von Bibliotheken auftritt.

CVE-2020-1416: Sicherheitsrisiko durch Rechteerweiterungen in Visual Studio

In Visual Studio liegt beim Laden von Softwareabhängigkeiten ein Sicherheitsrisiko durch Rechteerweiterungen vor.

CVE-2020-1147: Sicherheitsrisiko durch Denial-of-Service-Angriffe in .NET Core

Ein nicht authentifizierter Remoteangreifer könnte dieses Sicherheitsrisiko durch speziell gestaltete Anforderungen an eine ASP.NET Core-Anwendung oder andere Anwendungen ausnutzen, die bestimmte XML-Typen analysieren. Das Sicherheitsupdate behebt dieses Sicherheitsrisiko, indem die für die XML-Nutzlast zulässigen Typen eingeschränkt werden.


Release Notes Icon Visual Studio 2019, Version 16.0.15

Veröffentlicht: 9. Juni 2020

In Version 16.0.15 behobene Probleme

Sicherheitshinweis für Version 16.0.15

CVE-2020-1108 / CVE-2020-1108Sicherheitsrisiko durch Denial-of-Service-Angriffe in .NET Core

Microsoft hat Updates für .NET Core 2.1 und .NET Core 3.1 veröffentlicht, um CVE-2020-1108 umfassend zu behandeln. Kunden, die eine dieser .NET Core-Versionen verwenden, sollten die neueste Version von .NET Core installieren. Die neuesten Versionsnummern und Anweisungen zum Aktualisieren von .NET Core finden Sie in den Versionshinweisen.

CVE-2020-1202 / CVE-2020-1203: Sicherheitsrisiko durch Rechteerweiterungen beim Diagnostics Hub Standard Collector-Dienst

Es besteht ein Sicherheitsrisiko für Rechteerweiterungen, wenn Diagnostics Hub Standard Collector oder Visual Studio Standard Collector Objekte im Speicher nicht richtig verarbeiten.

CVE-2020-1293 / CVE-2020-1278 / CVE-2020-1257 Sicherheitsrisiko durch Rechteerweiterungen im Standardcollectordienst für den Diagnosehub

Wenn der Diagnostics Hub Standard Collector-Dienst bestimmte Dateivorgänge nicht ordnungsgemäß verarbeitet, besteht ein Sicherheitsrisiko durch Rechteerweiterungen.


Release Notes Icon Visual Studio 2019 Version 16.0.14

veröffentlicht am 12. Mai 2020

In Version 16.0.14 behobene Probleme

  • Es wurde eine Änderung hinzugefügt, die es IT-Unternehmensadministratoren und Bereitstellungstechniker ermöglicht, Tools wie den Microsoft Update-Client und SCCM zu konfigurieren, um die Anwendbarkeit von Updates für Visual Studio 2019 16.0 bestimmen zu können, die im Microsoft Update-Katalog und WSUS gehostet werden.

Sicherheitshinweis für Version 16.0.14

CVE-2020-1108 Sicherheitsrisiko durch Denial-of-Service-Angriffe in .NET Core

Ein nicht authentifizierter Remoteangreifer könnte dieses Sicherheitsrisiko durch Ausgeben speziell gestalteter Anforderungen an eine .NET Core-Anwendung ausnutzen. Das Sicherheitsupdate reagiert auf dieses Sicherheitsrisiko, indem korrigiert wird, wie .NET Core-Webanwendungen Webanforderungen behandeln.


Release Notes Icon Visual Studio 2019, Version 16.0.13

Veröffentlichung: 14. April 2020

Sicherheitshinweis für Version 16.0.13

CVE-2020-0899: Sicherheitsrisiko durch Rechteerweiterungen in Microsoft Visual Studio

Ein Sicherheitsrisiko durch Rechteerweiterungen entsteht, wenn der Updater für Microsoft Visual Studio die Dateiberechtigungen nicht ordnungsgemäß verarbeitet. Ein Angreifer, der dieses Sicherheitsrisiko erfolgreich ausgenutzt hat, könnte den Inhalt beliebiger Dateien im Sicherheitskontext des lokalen Systems überschreiben.

CVE-2020-0900 Sicherheitsrisiko durch Rechteerweiterungen im Installer für Visual Studio-Erweiterungen

Ein Sicherheitsrisiko durch Rechteerweiterungen entsteht, wenn der Installer für Visual Studio-Erweiterungen Dateivorgänge nicht ordnungsgemäß verarbeitet. Ein Angreifer, der dieses Sicherheitsrisiko erfolgreich ausnutzt, könnte durch die erweiterten Rechte Dateien an beliebigen Speicherorten löschen.

CVE-2020-5260 Git für Visual Studio: Sicherheitsrisiko durch Offenlegung von Anmeldeinformationen durch unzureichende URL-Validierung

Ein Sicherheitsrisiko durch Offenlegung von Anmeldeinformationen entsteht, wenn speziell erstellte URLs analysiert und an Hilfsprogramme für Anmeldeinformationen gesendet werden. Dabei können Anmeldeinformationen an den falschen Host gesendet werden.


Release Notes Icon Visual Studio 2019, Version 16.0.12

Veröffentlichung: 10. März 2020

In 16.0.12 behobene Probleme

Sicherheitshinweis

CVE-2020-0793 und CVE-2020-0810 Sicherheitsrisiko durch Rechteerweiterungen beim Diagnostics Hub Standard Collector-Dienst

Sicherheitsrisiko durch Erhöhung von Rechten, wenn der Diagnosehub-Standardcollector Dateivorgänge nicht ordnungsgemäß behandelt oder der Windows-Diagnosehub-Standardcollectordienst Eingaben nicht ordnungsgemäß bereinigt.

CVE-2020-0884 Spoofingsicherheitsrisiko beim Erstellen von Outlook Web-Add-Ins

Wenn Multi-Factor Authentication aktiviert ist, ist ein Spoofingsicherheitsrisiko vorhanden, wenn ein Outlook Web-Add-In erstellt wird

CVE-2020-0789 Denial-of-Service-Sicherheitsrisiko des Installerdiensts für Visual Studio-Erweiterungen

Denial-of-Service-Sicherheitsrisiko, wenn der Installerdienst für Visual Studio-Erweiterungen hartcodierte Links nicht ordnungsgemäß behandelt. Ein Angreifer, der das Sicherheitsrisiko erfolgreich ausnutzt, kann bewirken, dass ein Zielsystem nicht mehr reagiert.


Release Notes Icon Visual Studio 2019, Version 16.0.11

Veröffentlichung: 14. Januar 2020

Sicherheitshinweis

CVE-2020-0602: Sicherheitsrisiko durch ASP.NET Core-Denial-of-Service-Angriffe

Ein nicht authentifizierter Remoteangreifer könnte dieses Sicherheitsrisiko durch Ausgeben speziell gestalteter Anforderungen an eine ASP.NET Core-Anwendung ausnutzen. Das Sicherheitsupdate reagiert auf dieses Sicherheitsrisiko, indem korrigiert wird, wie ASP.NET Core-Webanwendungen Webanforderungen behandeln.

CVE-2020-0603 Sicherheitsrisiko bei der Remotecodeausführung in ASP.NET Core

Ein nicht authentifizierter Remoteangreifer könnte dieses Sicherheitsrisiko durch Ausgeben speziell gestalteter Anforderungen an eine ASP.NET Core-Anwendung ausnutzen. Das Sicherheitsupdate reagiert auf dieses Sicherheitsrisiko, indem korrigiert wird, wie ASP.NET Core-Webanwendungen In-Memory-Anforderungen behandeln.


Release Notes Icon Visual Studio 2019, Version 16.0.10

Veröffentlichung: 10. Dezember 2019

In 16.0.10 behobene Probleme

Sicherheitshinweis

CVE-2019-1349 Git für Visual Studio: Sicherheitsrisiko bezüglich Remotecodeausführung aufgrund zu lockerer Einschränkungen für Namen von Submodulen

Bei der Ausführung von Remotecode besteht ein Sicherheitsrisiko, wenn Git auf Konflikte bei Submodulnamen für Verzeichnisse gleichgeordneter Submodule stößt. Ein Angreifer, der dieses Sicherheitsrisiko erfolgreich ausnutzt, könnte auf dem Zielcomputer Remotecode ausführen. Das Sicherheitsupdate beseitigt dieses Sicherheitsrisiko, indem eine neue Version von Git für Windows zum Einsatz kommt, für die das Verzeichnis für den Klon der Submodule leer sein muss.

CVE-2019-1350 Git für Visual Studio: Sicherheitsrisiko bei Remotecodeausführung aufgrund des falschen Setzens von Anführungszeichen bei Befehlszeilenargumenten

Es besteht ein Sicherheitsrisiko bei der Ausführung von Remotecode, wenn Git Befehlszeilenargumente mit bestimmten Anführungszeichen während eines rekursiven Klons in Verbindung mit SSH-URLs interpretiert. Ein Angreifer, der dieses Sicherheitsrisiko erfolgreich ausnutzt, könnte auf dem Zielcomputer Remotecode ausführen. Das Sicherheitsupdate beseitigt dieses Sicherheitsrisiko, indem eine neue Version von Git für Windows zum Einsatz kommt, die das Problem beseitigt.

CVE-2019-1351 Git für Visual Studio: Sicherheitsrisiko durch willkürliches Überschreiben von Dateien aufgrund der Verwendung Laufwerksnamen ohne Buchstaben während des Klonvorgangs

In Git besteht das Sicherheitsrisiko durch willkürliches Überschreiben von Dateien, wenn Laufwerksnamen ohne Buchstaben Sicherheitsüberprüfungen in git clone umgehen. Ein Angreifer, der dieses Sicherheitsrisiko erfolgreich ausnutzt, könnte willkürliche Dateien auf den Zielcomputer schreiben. Das Sicherheitsupdate beseitigt dieses Sicherheitsrisiko, indem eine neue Version von Git für Windows zum Einsatz kommt, die das Problem beseitigt.

CVE-2019-1352 Git für Visual Studio: Sicherheitsrisiko bezüglich Remotecodeausführung aufgrund fehlender Informationen zu alternativen NTFS-Datenströmen

In Git besteht ein Sicherheitsrisiko bezüglich Remotecodeausführung beim Klonen und Schreiben in das Verzeichnis „.git/“ über alternative NTFS-Datenströme. Ein Angreifer, der dieses Sicherheitsrisiko erfolgreich ausnutzt, könnte auf dem Zielcomputer Remotecode ausführen. Das Sicherheitsupdate beseitigt dieses Sicherheitsrisiko, indem eine neue Version von Git für Windows zum Einsatz kommt, die über alternative NTFS-Datenströme informiert ist.

CVE-2019-1354 Git für Visual Studio: Sicherheitsrisiko durch willkürliches Überschreiben von Dateien aufgrund fehlender Weigerung, nachverfolgte Dateien mit umgekehrten Schrägstrichen auszugeben

In Git besteht ein Sicherheitsrisiko durch willkürliches Überschreiben von Dateien, wenn Struktureinträge mit umgekehrten Schrägstrichen und bösartigen Symbolverknüpfungen aus der Arbeitsstruktur herausbrechen. Ein Angreifer, der dieses Sicherheitsrisiko erfolgreich ausnutzt, könnte willkürliche Dateien auf den Zielcomputer schreiben. Das Sicherheitsupdate beseitigt dieses Sicherheitsrisiko, indem eine neue Version von Git für Windows zum Einsatz kommt, die diese Nutzung umgekehrter Schrägstriche nicht zulässt.

CVE-2019-1387 Git für Visual Studio: Sicherheitsrisiko bezüglich Remotecodeausführung aufgrund zu laxer Validierung von Submodulnamen in rekursiven Klonen

In Git besteht das Sicherheitsrisiko einer Remotecodeausführung beim rekursiven Klonen mit Submodulen. Ein Angreifer, der dieses Sicherheitsrisiko erfolgreich ausnutzt, könnte auf dem Zielcomputer Remotecode ausführen. Das Sicherheitsupdate beseitigt dieses Sicherheitsrisiko, indem eine neue Version von Git für Windows mit einer strengeren Validierung von Submodulnamen zum Einsatz kommt.

CVE-2019-1486 Sicherheitsrisiko bei URL-Umleitung in Live Share-Erweiterung

Ein Sicherheitsrisiko in Form von Spoofing wurde in der Visual Studio Live Share-Erweiterung erkannt, wenn ein Gast, der mit einer Live Share-Sitzung verbunden war, zu einer beliebigen URL umgeleitet wurde, die vom Sitzungshost angegeben wurde. Ein Angreifer könnte dieses Sicherheitsrisiko erfolgreich ausnutzen und den Computer des Gastes veranlassen, ohne ausdrückliche Zustimmung einen Browser zu öffnen und zu einer böswilligen URL zu navigieren. Dies war Teil des Features „Freigegebener Server“ von Live Share, das die automatische Portweiterleitung während einer aktiven Live Share-Sitzung ermöglichte. Das neueste Update beseitigt dieses Sicherheitsrisiko, indem es den Live Share-Gast vor dem Navigieren zur vom Host angegebenen URL um Zustimmung bittet.


Release Notes Icon Visual Studio 2019, Version 16.0.9

Veröffentlichung: 15. Oktober 2019

Sicherheitshinweis

CVE-2019-1425: Sicherheitsrisiko durch Rechteerweiterungen bei npm-Paketen (Veröffentlichung: 12. November 2019)

Ein Sicherheitsrisiko durch Rechteerweiterungen tritt auf, wenn Visual Studio Hardlinks bei der Extraktion archivierter Dateien nicht ordnungsgemäß überprüfen kann. Diese Sicherheitsrisiken traten erstmals durch npm-Pakete auf, die von Visual Studio wie in den folgenden npm-Empfehlungen beschrieben verwendet wurden: npmjs.com/advisories/803 und npmjs.com/advisories/886. Die aktualisierten Versionen dieser npm-Pakete sind in dieser Version von Visual Studio enthalten.


Release Notes Icon Visual Studio 2019, Version 16.0.8

Veröffentlicht am 10. September 2019

In Visual Studio 2019, Version 16.0.8, behobene Probleme

Sicherheitshinweis

CVE-2019-1232: Sicherheitsrisiko durch Rechteerweiterungen beim Diagnosehub-Standardsammlungsdienst

Wenn der Diagnosehub-Standardsammlungsdienst bestimmte Dateivorgänge nicht mit ordnungsgemäßem Identitätswechsel ausführt, besteht ein Sicherheitsrisiko durch Rechteerweiterungen. Ein Angreifer, der dieses Sicherheitsrisiko erfolgreich ausnutzt, könnte erhöhte Rechte erhalten. Ein Angreifer mit unberechtigtem Zugriff auf ein anfälliges System könnte dieses Sicherheitsrisiko auszunutzen. Das Sicherheitsupdate eliminiert dieses Risiko, indem es sicherstellt, dass der Diagnosehub-Standardsammlungsdienst Dateivorgänge mit ordnungsgemäßem Identitätswechsel ausführt.


Release Notes Icon Visual Studio 2019, Version 16.0.7

Veröffentlichung: 13. August 2019

In Visual Studio 2019, Version 16.0.7, behobene Probleme

Sicherheitshinweis

CVE-2019-1211 Git für Visual Studio: Sicherheitsrisiko durch Rechteerweiterungen

Ein Sicherheitsrisiko tritt in Git für Visual Studio auf, wenn Konfigurationsdateien nicht ordnungsgemäß analysiert werden. Ein Angreifer, der dieses Sicherheitsrisiko erfolgreich ausgenutzt hat, kann Code im Kontext eines anderen lokalen Benutzers ausführen. Angreifer müssen die Git-Konfigurationsdateien auf dem System vor der vollständigen Installation der Anwendung ändern, um das Sicherheitsrisiko auszunutzen. Anschließend muss der Angreifer einen anderen Benutzer auf dem System dazu bewegen, bestimmte Git-Befehle auszuführen. Durch dieses Update wird das Problem behoben, indem die für das Bearbeiten von Konfigurationsdateien erforderlichen Berechtigungen geändert wurden.

**CVE-2019-1301 Denial-of-Service-Sicherheitsrisiko in .NET Core

Ein Denial-of-Service-Sicherheitsrisiko liegt vor, wenn .NET Core Webanforderungen nicht ordnungsgemäß verarbeitet. Ein Angreifer, der dieses Sicherheitsrisiko erfolgreich ausnutzt, kann ein Denial-of-Service einer .NET Core-Webanwendung verursachen. Dieses Sicherheitsrisiko kann remote ohne Authentifizierung ausgenutzt werden.

Das Update reagiert auf dieses Sicherheitsrisiko, indem korrigiert wird, wie .NET Core-Webanwendungen Webanforderungen behandeln.


Release Notes Icon Visual Studio 2019, Version 16.0.6

Veröffentlichung: 9. Juli 2019

In Visual Studio 2019, Version 16.0.6, behobene Probleme

  • Behoben: Unterstützung der Sprachausgabe auf Systemen, die unter Windows 10, Version 1903 oder .NET 4.8 installiert sind.

Sicherheitshinweis

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

.NET Core-Updates wurden heute veröffentlicht und sind in diesem Visual Studio-Update enthalten. In diesem Release werden Sicherheitsprobleme und andere wichtige Probleme behoben. Weitere Informationen finden Sie in den Versionshinweisen zu .NET Core.

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

Veröffentlichung: 11. Juni 2019

In Visual Studio 2019, Version 16.0.5, behobene Probleme


Release Notes Icon Visual Studio 2019, Version 16.0.4

veröffentlicht am 14. Mai 2019

In Visual Studio 2019, Version 16.0.4, behobene Probleme

Sicherheitshinweis

CVE-2019-0727: Sicherheitsrisiko durch Rechteerweiterungen beim Diagnosehub-Standardsammlungsdienst

Wenn der Standardsammlungsdienst des Diagnosehubs bestimmte Dateivorgänge nicht ordnungsgemäß durchführt, 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 eliminiert dieses Risiko, indem Speicherorte geschützt werden, in dem der Standardsammlungsdienst des Diagnosehubs Dateivorgänge ausführt.


Release Notes Icon Visual Studio 2019, Version 16.0.3

Veröffentlichung: 30. April 2019

Neues in Visual Studio 2019, Version 16.0.3

  • Visual Studio-Tools für Kubernetes unterstützt jetzt das neueste Azure Dev Spaces.

In Visual Studio 2019, Version 16.0.3, behobene Probleme


Release Notes Icon Visual Studio 2019, Version 16.0.2

Veröffentlichung: 18. April 2019

In Visual Studio 2019, Version 16.0.2, behobene Probleme


Release Notes Icon Visual Studio 2019 Version 16.0.1

Veröffentlichung: 09. April 2019

In Visual Studio 2019 Version 16.0.1 behobene Probleme


Release Notes IconVisual Studio 2019

Veröffentlichung: 02. April 2019

Zusammenfassung der Neuerungen in Visual Studio 2019

Installieren

IDE

  • Zusammenarbeit mit anderen Personen mithilfe von Visual Studio Live Share, das standardmäßig installiert ist. Projektmappenansicht und Quellcodeverwaltungs-Diffs für Gäste durch zusätzliche Sprachunterstützung für C++, VB.NET und Razor.
  • Öffnen Sie im neuen Startfenster zuletzt bearbeiteten Code, oder beginnen Sie mit häufig verwendeten Flows zum Klonen, Öffnen oder Erstellen eines neuen Projekts.
  • Erstellen neuer Projekte über die neue Liste der nach Beliebtheit sortierten Vorlagen mit verbesserter Sucherfahrung und Filtern.
  • Mehr vertikaler Platz für Ihren Code und ein moderneres Erscheinungsbild und Verhalten durch eine Reihe neuer visueller Änderungen in der Shell.
  • Schärfere Darstellung Ihrer IDE unabhängig von Ihrer Anzeigekonfiguration und/oder Skalierung dank optimierter Per Monitor Awareness-Unterstützung.
  • Verwenden einer verbesserten Suchfunktion in Visual Studio für Menüs, Befehle, Optionen und installierbare Komponenten.
  • Schnelle Erkennung des Integritätsstatus Ihrer Dateien durch den Dokumentindikator. Ausführen und Konfigurieren durch eine Bereinigung mit einem Klick über den Indikator.
  • Einfache Verwaltung der Vorschaufunktionen, für die Sie sich angemeldet haben, dank einer neuen Seite „Vorschaufeatures“ im Dialogfeld „Optionen“.
  • Erstellen Sie neue Projekte mit Verbesserungen für tag-basierte Suchvorgänge und einer einfach aufrufbaren „Zuletzt verwendete Projektvorlagen“-Liste.
  • Erstellen Sie neue Elemente direkt aus Suche in Visual Studio, und finden Sie schneller Ergebnisse mit größerer Relevanz.
  • Bleiben Sie mit einer neuen Benachrichtigungsfunktion hinsichtlich wichtiger Informationen, z. B. Visual Studio Live Share-Anforderungen, auf dem Laufenden.
  • Speichern Sie eine Sammlung von Codebereinigungskorrekturen als Profil, um einfach die Korrekturen auswählen zu können, die während einer Codebereinigung ausgeführt werden sollen.
  • Lösen Sie neue .NET-Refactorings und Codefixes aus.
  • Konfigurieren Sie .NET Core-Projekte noch einfacher mit nützlichen Projektdateien.
  • Zeigen Sie den Status Ihrer Erweiterungen mit Vorschau-, Bezahlt- und Testversion-Tags im Dialogfeld „Erweiterungen und Updates“ an.
  • Überprüfen und konfigurieren Sie, welche Previewfunktionen Sie aktivieren möchten, seit die Standardeinstellungen in dieser Vorschauversion zurückgesetzt wurden.
  • Halten Sie Ihre Erweiterungen auf dem neuesten Stand, indem Sie bestimmte Testfenster-APIs ausschließen, die in diesem Release als veraltet markiert wurden.
  • Über das Startfenster haben Sie für Ihre gehosteten Repositorys von Azure DevOps die Möglichkeit, sich bei diesen anzumelden, sie zu durchsuchen, mit nur einem Klick einen Klon davon zu erstellen oder sich mit ihnen zu verbinden.
  • Installieren Sie Erweiterungen für andere Hosts zur Quellcodeverwaltung, um Ihre Repositorys bzw. die Ihrer Organisation anzuzeigen.
  • Das Design „Blau“ wurde als Reaktion auf Feedback verbessert. Die Helligkeit wurde heruntergeregelt und der allgemeine Kontrast optimiert. Zudem wurden weitere Bedienungsprobleme behoben.
  • Wenden Sie die Codeformateinstellungen über die Befehlszeile mit dem globalen Tool Dotnet-Format an.
  • MSBuild und Visual Studio zielen jetzt standardmäßig auf .NET Framework 4.7.2 ab.
  • Azure App Service-bezogene Features wurden aus dem Server-Explorer entfernt. Gleichwertige Funktionalität ist stattdessen im Cloud-Explorer verfügbar.

Leistung

  • Die Kontrolle übernehmen, wie Projektmappen geladen werden, indem Sie die neuen Leistungsverbesserungen von Visual Studio verwenden, die sich auf die Stepping-Geschwindigkeit, die Geschwindigkeit von Verzweigungswechseln und mehr auswirken.
  • Informationen finden Sie unter Projektmappen-Ladestatus im Aufgabenstatuscenter.
  • Auswählen, welche Projekte beim Öffnen der Projektmappe geladen werden, mit Projektmappenfilter-Dateien.
  • Verbessern Ihrer Eingabeleistung durch Beschränken der Auswirkungen von Hilfskomponenten.
  • Umschalten der neuen Option zum Deaktivieren der Wiederherstellung Ihres Projekthierarchiezustands und Toolfensterzustands.
  • Probieren Sie die neue Verknüpfung für „Auswahl erstellen“, und erstellen Sie mit dem neuen Befehl „Alle erstellen“ schnell alle Komponenten in CMake.
  • Programmieren Sie schneller mit verbesserter Leistung von IntelliSense für C++-Dateien in CMake-Projekten.
  • Laden Sie größere .NET Core-Projektmappen, und profitieren Sie bei deren Nutzung über längere Zeiträume von einer deutlich geringeren Speicherauslastung.
  • Laden Sie die Projektabhängigkeiten schnell mit einem neuen Kontextmenübefehl für Projekte.
  • Suchen Sie nach Tipps zur Leistungssteigerung im Leistungscenter.

Grundsätzliches zu Debuggen und Diagnose

  • Schlüsselwörter in den Fenstern „Überwachen“, „Auto“ und „Lokal“ suchen während des Debuggens, um die Möglichkeiten zum Auffinden von Objekten oder Werten zu verbessern.
  • Anzeigen eines Dropdownmenüs mit Formatbezeichnern in den Fenstern „Überwachen“, „Auto“ und „Lokal“ beim Untersuchen von Daten.
  • Verwenden einer benutzerdefinierte Schnellansicht, jetzt kompatibel mit .NET Core.
  • Debuggen sehr großer Anwendungen mit einer großen Anzahl von Modulen und PDB-Dateien.
  • Starten Sie Google Chrome mit benutzerdefinierten Argumenten, und debuggen Sie Ihre JavaScript-Anwendungen in der Visual Studio-IDE.
  • Verwenden Sie Hervorhebung des langsamsten Pfads für CPU- und DotNet-Objektzuordnungs-Tools im Leistungsprofiler.
  • Unterbrechen Sie den Vorgang, wenn sich der Eigenschaftswert eines bestimmten Objekts in .NET Core 3.0+-Anwendungen ändert, indem Sie Datenhaltepunkte verwenden. Diese Funktion war ursprünglich nur in C++ verfügbar.
  • Seit Preview 1 wurde die Benutzeroberfläche für die Suche in den Fenstern „Auto“, „Lokal“ und „Überwachen“ durch eine einfachere Benutzeroberfläche ersetzt. Die Funktion „Tiefer suchen“ wurde in eine Dropdownliste umgewandelt, sodass Sie schnell auswählen können, wie tief Ihre anfängliche und nachfolgende Suche sein soll.

Quellcodeverwaltung und Team Explorer

  • Änderungen vorübergehend speichern, sodass Sie an einer anderen Aufgabe arbeiten können, mithilfe der Unterstützung von Team Explorer für Git-Tools bei der Ausführung von Git-Stash.
  • Sehen Sie sich die im Visual Studio Marketplace verfügbare optionale Erweiterung Pull Requests für Visual Studio an, die Überprüfungen von Pull Requests in Visual Studio integriert.
  • Verwenden der neuen Azure DevOps-Arbeitselementerfahrung, die sich auf Entwicklerworkflows konzentriert, einschließlich benutzerdefinierter Arbeitselementansichten, des Erstellens einer Verzweigung aus einem Arbeitselement, der Suche nach Arbeitselementen mit #Erwähnungen sowie Inlinebearbeitung.

Erweiterbarkeit

  • Verwenden Sie ein einzelnes, einheitliches Visual Studio SDK im NuGet-Paket Microsoft.VisualStudio.SDK.
  • Nutzen Sie die aktualisierte VSIX-Projekt-Vorlage, die jetzt über eine AsyncPackage-Klasse verfügt.
  • Experimentieren Sie mit der neuen Vorlage Empty VSIX project (Leeres VSIX-Projekt), die hinzugefügt wurde.
  • Sehen Sie nun im Dialogfeld Erweiterungen und Updates, ob eine Erweiterung vom Typ „Free“, „Bezahlt“ oder „Testversion“ ist.

Programmiersprachen

C#

Machen Sie sich mit Vorschausprachfeatures vertraut, die der C#-Compiler für Version 8.0 unterstützt. Hierzu gehören beispielsweise folgende:

  • Nullwerte-Verweistypen: Wenn das Feature aktiviert ist (z. B. mit #nullable enable oder auf Projektebene mit <NullableContextOptions>enable</NullableContextOptions>), werden Verweistypen als NULL-Werte behandelt, wenn sie mit ? und andernfalls nicht nullfähig sind. Der Compiler analysiert dann, wo NULL-Werte genutzt werden, und gibt eine Warnung aus, wenn diese mit hoher Wahrscheinlichkeit unsicher verwendet werden.
  • switch Ausdrücke: Bietet eine switch-ähnliche Semantik in einem Ausdruckskontext.
  • Rekursiver Musterabgleich: Mit neuen Mustern können Felder und Eigenschaften sowie Positionselemente (von Tupeln oder von einer Dekonstruktion) getestet werden.
  • Die unterstützen Typen Range und Index werden in CoreFX zur Erstellung von Teilmengen verwendet. Dies gilt auch für die x..y-Literalsyntax für Bereiche.
  • Asynchrone Streams, die durch IAsyncEnumerable<T> dargestellt werden, können mit await foreach asynchron enumeriert und mit Iteratormethoden von async IAsyncEnumerable<T> erstellt werden.
  • usingDeklarationen: Mit diesen werden am Ende des aktuellen Blocks Ressourcen freigegeben, ohne dass zusätzliche Schachtelungen erforderlich sind. ref-Strukturen können durch die Implementierung der öffentlichen Dispose()-Methode freigegeben werden.
  • static lokale Funktionen: Lokale Funktionen, die mit static gekennzeichnet sind, können nicht auf this oder Variablen in den eingeschlossenen Funktionen verweisen.
  • Für lokale Funktionen und Lambdaausdrücke können jetzt Parameter und lokale Variablen deklariert werden, durch die ein Shadowing der Variablennamen innerhalb der einschließenden Funktionen durchgeführt wird.
  • NULL-Sammeloperatorzuweisung:x ??= y; weist y nur dann x zu, wenn xnull war.

Weitere Informationen finden Sie In der Übersicht zu C# 8.0 von Mads Torgersen.

Noch mehr Details sind unter C# language feature status (Status von C#-Sprachfeatures) und Breaking Changes verfügbar.

Beachten Sie auch, dass Sie standardmäßig weitere moderne C#-Sprachfeatures in Visual Studio nutzen können.

C++
  • Zeit sparen beim Schreiben von C++- und XAML-Code mithilfe von Visual Studio IntelliCode, einer optionalen Erweiterung, die Ihnen KI-gestützte Empfehlungen für Ihren Code macht.
  • Erleben Sie Codeanalysewarnungen direkt im Editor. Die Codeanalyse wird automatisch im Hintergrund ausgeführt, und Warnungen werden als grüne Wellenlinien angezeigt.
  • Testen Sie die neue Vorlagenleiste, für die die Benutzeroberfläche für Peek-Fenster verwendet wird und geschachtelte Vorlagen unterstützt werden.
  • Führen Sie die neue, aktualisierte Implementierung der Lifetime-Profil-Prüfung für C++ aus.
  • Konfigurieren Sie Ihre CMake-Projekte mit dem neuen Editor für CMake-Einstellungen, der eine Alternative zu „CMmakeSettings.json“ bereitstellt.
  • Probieren Sie eine Vielzahl von Back-End-Verbesserungen, z. B. OpenMP SIMD-Vektorisierung, Link-Zeit-Beschleunigungen und offensiveres Inlining.
  • Öffnen Sie vorhandene CMake-Caches, die von externen Tools wie CMakeGUI oder von benutzerdefinierten Meta-Build-Systemen generiert wurden.
  • Verbessern Sie Analysen mit /Qspectre, um Unterstützung für eine Risikominderung für Spectre Variant 1 (CVE-2017-5753) bereitzustellen. Weitere Informationen finden Sie im Blogbeitrag des Visual C++-Teams.
  • Wechseln Sie mithilfe der Vorlagenleiste, die Teil von IntelliSense für Vorlagen ist und nun eine Dropdownliste mit zuletzt verwendeten Elementen enthält, schnell zwischen vorherigen Beispielargumenten.
F#
  • F# 4.6 wurde zusammen mit verschiedenen anderen Compilerverbesserungen veröffentlicht.
  • Erleben Sie Leistungsverbesserungen bei umfangreicheren Projektmappen und verschiedene Fehlerbehebungen für F# und die F#-Tools.
  • Erfahren Sie mehr über die großartigen Beiträge von Open Source-Mitwirkenden zu F# und zu den zugehörigen Tools.
JavaScript/TypeScript
Python
  • Einfaches Hinzufügen von virtuellen Python- sowie Conda-Umgebungen mithilfe des Python-Dialogfelds „Umgebung hinzufügen“.
  • Arbeiten Sie noch einfacher mit Python-Umgebungen, und nutzen Sie u. a. die verbesserte Unterstützung für „Ordner öffnen“-Arbeitsbereiche über eine neue Symbolleiste zur Auswahl einer Python-Umgebung.
  • Erstellen Sie Visual Studio Live Share-Sitzungen, und arbeiten Sie mit anderen Visual Studio-Benutzern zusammen an Python-Code.

Webtechnologien

Containertools

  • Erleben Sie ein optimiertes einzelnes Projekt für das Containerisieren und Debuggen.
  • Nutzen Sie die hinzugefügte Unterstützung für Debuggen von Alpine und zusätzliche Basisimages.

Entwicklung für mobile Geräte mit Xamarin

Universelle Windows-Plattform (UWP)

  • Behalten Sie Kommentare, Abstände, Namespaces und alle anderen Textänderungen bei, wenn Sie Änderungen mit dem Designer vornehmen. Der Paket-Manifest-Designer behält nun uneingeschränkt Übereinstimmung mit XML-Änderungen in der Datei „Package.appxmanifest“.
  • Verwenden Sie das Projekt Paketerstellung für Windows-Anwendungen für .NET Core-Projekte, um MSIX-Pakete zu erstellen.
  • Verwenden Sie den Package Creation Wizard (Paketerstellungsassistent) für direkte Übermittlungen an den Microsoft Store.
  • Die Bereitstellung für Windows Mobile-Geräte wird in Visual Studio 2019 nicht mehr unterstützt. Beim Versuch, die Bereitstellung auf einem Windows 10 Mobile-Gerät durchzuführen, wird folgende Fehlermeldung angezeigt: „Deployment to Windows Mobile devices is not supported in Visual Studio 2019.“ (Die Bereitstellung für Windows Mobile-Geräte wird in Visual Studio 2019 nicht unterstützt.) Wenn Sie weiterhin mit einer Anwendung für Windows 10 Mobile-Geräte arbeiten müssen, verwenden Sie Visual Studio 2017.

XAML-Debugtools:

  • „XAML-Bearbeitung und fortsetzen“ unterstützt jetzt x:bind (UWP): Die Funktion „XAML-Bearbeitung und fortsetzen“ unterstützt jetzt das Bearbeiten von Datenbindungen, die mit x:bind erstellt wurden, für Pfade mit öffentlichen Eigenschaften, Elementnamen, indizierten Eigenschaftspfaden (Sammlungen), angefügten Eigenschaften und Umwandlungseigenschaften. Andere Änderungen werden nicht unterstützt. Diese Verbesserung ist für alle Apps verfügbar, deren niedrigste und höchste Versionen für Windows 10 SDK 1809 (Build 10.0.17763) oder höher erstellt wurden. (Hinweis: Die Funktion „XAML-Bearbeitung und fortsetzen“ wird ab Visual Studio 2019 Update 2 und höher in XAML Hot Reload umbenannt.)

SQL Server-Datentools

  • Lernen Sie die aktualisierte Version von SSDT und DacFX mit Unterstützung für die Sortierung von UTF-8-Zeichenfolgen kennen.

Details der Neuerungen in Visual Studio 2019

Installieren

  • Sie können jetzt wählen, wie Visual Studio-Updates installiert werden sollen. Der Standardmodus ist „Alle herunterladen und dann installieren“. In diesem Modus können Sie Visual Studio weiterhin verwenden, während Updates heruntergeladen werden. Wenn Sie „Alle herunterladen und dann installieren“ auswählen, " müssen Sie die Installation abschließen, indem Sie den Visual Studio-Installer öffnen und Weiter auswählen.
  • Visual Studio-Updates werden nun im Hintergrund heruntergeladen. Diese Downloads werden nur durchgeführt, wenn sich Ihr Computer im Leerlauf befindet. Wenn die Downloads abgeschlossen sind, werden Sie in Visual Studio darüber benachrichtigt, dass die heruntergeladenen Dateien installiert werden können.
  • Sie können nun Ihren Installationsmodus für Updates und die Vorgehensweise, ob Updates heruntergeladen werden sollen oder nicht, über das Menü Extras > Optionen steuern, indem Sie die Einstellungen auf der Seite „Produktupdates“ ändern.
Product Update Options
*Optionen für Produktupdates*

Startfenster

Das neue Startfenster bietet eine optimierte Starterfahrung, damit Sie beim Starten von Visual Studio schnell zu Ihrem Code gelangen.

  • Zeigen Sie Ihre zuletzt verwendeten Projekte und Ordner an, und öffnen Sie sie mit einem einzigen Klick. Heften Sie mit dem Kontextmenü Elemente an, und entfernen Sie diese aus der Liste.
  • Klonen Sie Code, oder checken Sie diesen mithilfe öffentlicher oder privater Git-URLs aus, wodurch der Ordner auch automatisch in der IDE geöffnet wird.
  • Melden Sie sich über Azure DevOps bei gehosteten Repositorys an, durchsuchen Sie diese, klonen Sie sie mit einem Klick, oder stellen Sie eine Verbindung mit diesen her. Außerdem können Sie Erweiterungen für andere Quellcodeverwaltungshosts installieren, um sich Ihre Repositorys und die Ihrer Organisation anzeigen zu lassen.
  • Durchsuchen Sie Ihren lokalen Datenträger oder eine Netzwerkfreigabe nach Projekten, Projektmappen oder jeglichen Ordnern, die Code enthalten, und öffnen Sie sie in der IDE.
  • Wählen Sie eine Projektvorlage aus, die einen Codegerüstbau zur Verfügung stellt, der die ersten Schritten mit einem neuen Projekt oder mit einer neuen Projektmappe vereinfacht.
  • Suchen Sie Projektvorlagen nach Titel, Beschreibung und Tags, oder filtern Sie nach verfügbaren Sprachen, Plattformen und Projekttypen. In der Standardliste werden alle verfügbaren Vorlagen angezeigt, während im linken Bereich eine Liste der zehn zuletzt verwendeten Projektvorlagen für den Schnellzugriff angezeigt wird. Ein zweiseitiger Assistent gestattet es Ihnen, sich immer nur auf eine Entscheidung zu konzentrieren.
Start window
*Neues Startfenster*

Shell und Plattform

  • Erkennen Sie schnell, welche Version von Visual Studio Sie öffnen und verwenden, über das neue, verbesserte Produktsymbol. Das neue Symbol ist außerdem vor einer Vielzahl von Hintergründen besser sichtbar.
  • Erleben Sie ein moderneres Erscheinungsbild und Verhalten von Visual Studio mit unserem aktualisierten blauen Design, das Ihnen eine übersichtlichere Benutzeroberfläche bietet und gleichzeitig unsere Barrierefreiheitsstandards erfüllt.
  • Zeigen Sie mehr von Ihrem Code an, dank unserer Änderungen, die auf die Kompaktheit abzielen und so in der IDE vertikalen Platz zurückgewinnen. Wir haben die Titelleiste mit der Menüleiste kombiniert und gleichzeitig vorhandene Funktionen erhalten.
  • Verwenden Sie Visual Studio als Pro-Monitor-Erkennungsanwendung durch eine neue, experimentelle Einstellung. Wenn diese Einstellung aktiviert ist, hilft sie Teilen von Visual Studio, z. B. der Shell und dem Editor, beim schärferen Rendern, unabhängig von Ihrer Anzeigekonfiguration und/oder -skalierung.
  • Erleben Sie eine verbesserte Sucherfahrung in Menüs, Befehlen, Optionen und installierbaren Komponenten. Unsere neue Suche zeigt jetzt Ergebnisse dynamisch an, fängt Rechtschreibfehler ab und bietet relevante Informationen (z. B. Tastenkombinationen) innerhalb der Suchergebnisse.
Visual Studio Search with results
*Verbesserte Suche in Visual Studio*
  • Zeigen Sie Integritätsinformationen an, die zu Ihrer aktuell geöffneten Datei gehören, über die Funktion „Dokumentintegritätsindikator“.
Document Health Indicator with issues
*Dokumentintegritätsindikator – Problem in Dokument*
Document Health Indicator with no issues
*Dokumentintegritätsindikator – keine Probleme*
  • Wenn Sie C#-Entwickler sind, können Sie mithilfe der Codebereinigung schnell einige der häufigsten Programmiervorschläge bereinigen.
  • Wählen Sie die Gruppe von Korrekturen aus, die durch Ausführen der Codebereinigung ausgeführt werden soll.
Code Cleanup configuration dialog
*Codebereinigung konfigurieren*
  • Sie können den Inhalt Ihres Zwischenablageverlaufs über ein Kontextmenü anzeigen, das den Zwischenablagering erweitert (STRG+UMSCHALT+V).
Clipboard Ring context menu
*Zwischenablagering-Kontextmenü*
  • Die Suchmöglichkeiten wurden verbessert durch:
    • Hinzufügen von Filtern für Menüs, Komponenten und Vorlagen
    • Einbinden Ihrer jeweiligen Suchauswahl, um Ihnen die relevantesten Suchergebnisse bereitzustellen
    • Ermöglichen, dass Sie neue Projekte/Elemente direkt aus einer Suche in Visual Studio erstellen und zu Ihrer Projektmappe hinzufügen können
  • Die verbesserte PMA-Funktionalität (Per-Monitor Awareness, Pro-Monitor-Erkennung) ist jetzt standardmäßig für Benutzer aktiviert, für die die Mindestanforderungen (.NET 4.8 Vorschauversion und Windows 10 mit dem Update vom April 2018 oder später) erfüllt sind. Toolfenster wie „Toolbox“, „Haltepunkte“, „Überwachen“, „Lokal“, „Auto“ und „Aufrufliste“ wurden in PMA konvertiert und werden daher unabhängig von Ihrer Anzeigekonfiguration und/oder Skalierung scharf dargestellt.
  • Durch ein neues Benachrichtigungselement wurde Folgendes hinzugefügt:
    • Eine neue Symbol- und Indikatoranzeige in der Statusleiste
    • Ein neuer Mechanismus für Popupbenachrichtigungen
    • Benachrichtigungen zu Visual Studio-Updates und Visual Studio-Lizenzierungsablauf
  • Ein überarbeitetes Design „Blau“ als Reaktion auf Feedback zur Vorschauversion 1, sodass die Helligkeit heruntergeregelt wird, der Kontrast verbessert wird und weitere Nutzbarkeitsprobleme behoben wurden.
  • Verbesserte Funktionen zum Ziehen von Fenstern durch Nutzen des verfügbaren freien Platzes im Symbolleistenbereich als ziehbarer Bereich.
  • Sie können nun eine Sammlung von Codebereinigungskorrekturen als Profil speichern, sodass Sie schnell den Satz von Korrekturen auswählen können, der während einer Codebereinigung ausgeführt werden soll.
Visual Studio Code Cleanup Profiles
*Visual Studio-Codebereinigungsprofile*
  • Zu dem Dialogfeld „Erweiterungen und Updates“ wurden Tags hinzugefügt, damit Sie schnell erfassen können, ob eine Erweiterung aus der Vorschauversion stammt, eine Bezahlt-Erweiterung ist oder in einen Testzeitraum fällt.
Extensions and Updates dialogs with tags
*Dialogfeld „Erweiterungen und Updates“ mit Tags*
  • Das empfohlene Verfahren zum Implementieren von Daten-QuickInfos in Visual Studio 2019 und höher ist jetzt IAsyncQuickInfoSourceProvider. Die Legacy-Editor-QuickInfo-APIs IVsTextTipData und TextTipData sind in Visual Studio 2019 Vorschau 1 als veraltet markiert.
  • Die Editor-Smarttags (ISmartTag*-Familie von Schnittstellen im Microsoft.VisualStudio.Language.Intellisense-Namespace) wurden zugunsten der LightBulb-API als veraltet markiert und werden ab Visual Studio 2019 Vorschau 1 nicht mehr unterstützt.
  • Die Projektmappenoptionen Erweiterte Buildkonfigurationen anzeigen, Projektmappe immer anzeigen und Neue Projekte beim Erstellen speichern wurden aufgrund der geringen Verwendung entfernt. Diese Werte wurden auf ihren Standardwert True festgelegt.
  • Aktivieren oder deaktivieren Sie bestimmte Previewfunktionen mithilfe der neuen Seite „Previewfunktionen“, die sich unter Tools > Optionen > Umgebung > Previewfunktionen befindet.

Leistung

  • Wir haben eine neue Verknüpfung für die Build-Auswahl für Ordner und Lösungen hinzugefügt: STRG+ B.
  • Laden Sie große Projektmappen in kürzester Zeit, indem Sie Projekte entladen. Do not load projects
  • Wählen Sie mit Projektmappenfilter-Dateien aus, welche Projekte beim Öffnen der Projektmappe geladen werden.
    • Erstellen Sie eine Projektmappenfilter-Datei, indem Sie Projekte entladen, die nicht automatisch geöffnet werden sollen, mit der rechten Maustaste auf die Projektmappe klicken und Als Projektmappenfilter speichern auswählen. Sie können dann die Filterdatei verwenden, um die Projektmappe bei der späteren Verwendung zu öffnen. Solution filters
  • Wir haben den Befehl „Alle für CMake-Dateien erstellen“ hinzugefügt: STRG+UMSCHALT+B.
  • Die IntelliSense-Leistung in C++-Dateien in CMake-Projekten wurde verbessert.
  • Es wurde ein Befehl zum Laden entladener Projektabhängigkeiten in die Projekt- und Projektmappenkontextmenüs hinzugefügt.
  • Tipps zum Verbessern der Leistung von Visual Studio werden jetzt im Leistungscenter gespeichert, das über Hilfe > Visual Studio-Leistung verwalten erreichbar ist.
  • Der Status des Ladevorgangs Ihrer Projektmappe wird jetzt im Aufgabenstatuscenter angezeigt sowie Benachrichtigungen, wenn die Ladevorgänge Ihrer Projektmappe fertig sind.
  • Wählen Sie mit Projektmappenfilter-Dateien aus, welche Projekte beim Öffnen der Projektmappe geladen werden.
    • Erstellen Sie eine Projektmappenfilter-Datei, indem Sie Projekte entladen, die nicht automatisch geöffnet werden sollen, mit der rechten Maustaste auf die Projektmappe klicken und Als Projektmappenfilter speichern auswählen. Sie können dann die Filterdatei verwenden, um die Projektmappe bei der späteren Verwendung zu öffnen.
  • Erleben Sie verbesserte Buildressourcenermittlung und Dateisuche, wenn Sie STRG+T in Szenarien mit „Ordner öffnen“ drücken.
  • Beachten Sie Leistungsverbesserungen, wo der Visual Studio-Editor jetzt die Auswirkungen von Hilfskomponenten auf die Eingabeleistung begrenzt. Insbesondere bricht er automatisch alle lang andauernden Vorgänge bei der Eingabe ab.
  • Sie können das Begrenzungsverhalten von Visual Studio für Hilfskomponenten über Tools > Optionen > Text-Editor > Erweitert konfigurieren:
Visual Studio Typing Latency Options
*Visual Studio-Optionen für Eingabelatenz*
  • Sie können jetzt die Wiederherstellung des Projekthierarchiezustands aus der vorherigen Sitzung im Toolfenster des Projektmappen-Explorers deaktivieren. Wir haben diese Änderung implementiert, weil das Wiederherstellen der Projekthierarchie aus einer vorherigen Sitzung beim Öffnen der Projektmappe das Laden der Projektmappe verzögern kann.
    • Sie können diese Option unter Tools > Optionen > Projekte und Projektmappen > Allgemein umschalten.
Solution load restore settings
*Wiederherstellungseinstellungen beim Laden von Projektmappen*
* Sie können jetzt die Wiederherstellung des Toolfensterzustands aus der vorherigen Sitzung deaktivieren und stattdessen immer den Projektmappen-Explorer und Team Explorer beim Starten laden. Diese Änderung wurde implementiert, weil das Wiederherstellen von Toolfenstern aus vorherigen Sitzungen das Laden von Projektmappen verzögern kann. * Sie können diese Option unter **Tools > Optionen > Umgebung > Start** umschalten.

Grundsätzliches zu Debuggen und Diagnose

Allgemeines Debuggen
  • Hervorheben, Suchen und Navigieren mit Schlüsselwörtern unter Verwendung unserer neuen Suchfunktion, die wir in die Fenster „Überwachen“, „Auto“ und „Lokal“ integriert haben.
Searching for keywords in Watch
Suchen im Überwachungsfenster
  • Durch Anfügen eines Kommas an ein aufgelistetes Element können Sie in den Fenstern „Überwachen“, „Auto“ und „Lokal“ eine Dropdownliste der Spezifizierer und Optionen zum Formatieren von Daten anzeigen.
Format Specifier Dropdown List in Watch
Formatspezifizierer-Dropdownliste im Überwachungsfenster
  • Sie können jetzt benutzerdefinierte und DataSet-Schnellansichtsunterstützung für .NET Core verwenden.
DataSet Visualizer for .NET Core
DataSet-Schnellansicht für .NET Core-Anwendungen
  • Für C++-Anwendungen unter Windows wird PDB jetzt in einem separaten 64-Bit-Prozess geladen. Diese Änderung behebt eine Reihe von Abstürzen, die davon verursacht wurden, dass dem Debugger beim Debuggen von Anwendungen, die eine große Anzahl von Modulen und PDBs enthalten, der Arbeitsspeicher ausging.
Verwaltete Datenhaltepunkte

Sie können jetzt den Vorgang unterbrechen, wenn sich der Eigenschaftswert eines bestimmten Objekts in .NET Core-Anwendungen (.NET Core 3.0 oder höher) ändert, indem Sie Datenhaltepunkte verwenden. Diese Funktion war ursprünglich nur in C++ verfügbar. Sie sind eine gute Alternative zum einfachen Platzieren eines Haltepunktes auf einen Setter für eine Eigenschaft, da sich ein Datenhaltepunkt auf eine spezifische Objekteigenschaft beziehen kann, auch wenn sie außerhalb des Bereichs liegt. Im Gegensatz dazu kann die frühere Option zu konstanten, irrelevanten Unterbrechungen führen, wenn Hunderte von Objekten diese Funktion aufrufen.

Data breakpoints for .NET Core
Datenhaltepunkte in .NET Core-Anwendungen
UX-Updates für die Suche im Überwachungsfenster

Die Benutzeroberfläche wurde für die Suche in den Fenstern „Auto“, „Lokal“ und „Überwachen“ durch eine einfachere Benutzeroberfläche ersetzt. Die Funktion „Tiefer suchen“ wurde in eine Dropdownliste umgewandelt, sodass Sie schnell auswählen können, wie tief Ihre anfängliche und nachfolgende Suche sein soll.

Anwenden von Codeformateinstellungen
  • Sie können nun Codeformateinstellungen über die Befehlszeile mit dem globalen Tool Dotnet-Format anwenden. Zur Installation ist das .NET Core 2.1 SDK oder höher erforderlich. Führen Sie den folgenden Befehl über Ihr bevorzugtes Terminal aus: dotnet tool install -g dotnet-format --version 3.0.0-beta4-19105-10
dotnet format video
Ausführen des dotnet-Formats über die Befehlszeile

Erweiterbarkeit

  • Sie können keine Erweiterungen mehr in Visual Studio 2019 installieren, die mit V1 des vsixmanifest-Erweiterungsformats erstellt wurden. V1 wurde in Visual Studio 2010 eingeführt und in Visual Studio 2017 als veraltet markiert, da es Zuverlässigkeitsprobleme in Visual Studio verursachen konnte. In Visual Studio 2019 wurde die Unterstützung für V1 vollständig entfernt. Erweiterungen, die auf Visual Studio 2019 abzielen, sollten in V2 oder V3 des vsixmanifest-Formats neu erstellt werden.
  • Sie werden nun benachrichtigt, wenn eine Erweiterung automatisch synchron geladen wird. Beachten Sie, dass die Erweiterung in diesem Release ganz normal geladen und funktionieren wird, doch es besteht das Risiko, dass sie im nächsten Visual Studio 2019-Update nicht mehr funktionieren wird. Weitere Details finden Sie in unserem Blogbeitrag zum Verbessern der Reaktionsfähigkeit kritischer Szenarios durch Aktualisieren des automatischen Ladeverhaltens für Erweiterungen.
Einheitliches SDK-NuGet-Paket

In der Vergangenheit mussten Erweiterungsautoren viele separate Verweise auf die einzelnen NuGet-Pakete des Visual Studio SDKs machen, die sie für ihre Erweiterung benötigten. Die Versionen der verschiedenen Pakete waren immer aufeinander abgestimmt, was oft zu Abhängigkeitskonflikten während der Kompilierzeit sowie zu Laufzeitproblemen führte.

Um diese Probleme zu beheben, verwenden Sie das neue Paket Microsoft.VisualStudio.SDK, das Abhängigkeiten für alle Pakete enthält, aus denen sich das Visual Studio SDK zusammensetzt. Es löst Versionskonflikte und informiert darüber, welche Version verwendet werden soll. Verwenden Sie einfach die Version des Pakets, die der niedrigsten Version von Visual Studio entspricht, die von Ihrer Erweiterung unterstützt wird, und Sie haben Zugriff auf das gesamte SDK.

Im Moment ist nur die Version 15.9 des SDK-Pakets verfügbar, aber weitere werden in den kommenden Monaten bis zur Version 14.0 veröffentlicht.

Neue und aktualisierte Projektvorlagen

Die VSIX-Projekt-Vorlage wurde mehrfach aktualisiert, um sie zu vereinfachen und zu verbessern:

  • Sie verwendet das neue, einheitlich SDK-NuGet-Paket.
  • Sie enthält eine AsyncPackage-Klasse.
  • Zum Kompilieren eines Pakets ist keine RESX-Datei mehr erforderlich.
  • Sie ist für .NET Framework 4.7.2 konzipiert.

Es wurde die neue Vorlage Empty VSIX Project (Leeres VSIX-Projekt) erstellt, die mit der VSIX-Projektvorlage übereinstimmt, aber keine AsyncPackage-Klassen enthält. Zudem verweist sie auf das einheitliche SDK-NuGet-Paket, das eine gute Grundlage für MEF-Erweiterungen und andere paketlose Erweiterungstypen bildet.

Kostenlos/Kostenpflichtig/Testversion

Es gab keine einfache Möglichkeit, um zu erkennen, ob es sich um eine Erweiterung vom Typ „Free“, „Bezahlt“ oder „Testversion“ handelt. Dies wurde geändert, sodass im Dialogfeld Erweiterungen und Updates jetzt jede kostenpflichtige Erweiterung bzw. jede Testversion auch als solches eindeutig gekennzeichnet ist. Erweiterungen ohne die Bezeichnung „Testversion“ oder „Bezahlt“ sind kostenlos („Free“).

Testtools

Weitere APIs im Testfenster, die zuvor nicht dokumentiert, aber als öffentlich markiert waren, wurden der Veraltet-Liste hinzugefügt.

Quellcodeverwaltung

  • Vorübergehendes Speichern von Änderungen, sodass Sie an einer anderen Aufgabe arbeiten können, wo die Git-Tools von Team Explorer nun die Ausführung von Git-Stash unterstützen.
  • Überprüfen, Ausführen und sogar Debuggen von Pull Requests aus Azure Repos, ohne die IDE zu verlassen, mithilfe unserer ganz neuen Pull Request-Erfahrung in Visual Studio 2019. Als erste Schritte können Sie die Pull Requests für Visual Studio-Erweiterung aus dem Visual Studio Marketplace herunterladen.
New Pull Request Experience
Neue Pull Request-Erfahrung

MSBuild

  • Die MSBuild-Toolsetversion hat sich von 15.0 in Current geändert. MSBuild.exe befindet sich jetzt in %VSINSTALLDIR%\MSBuild\Current\Bin\MSBuild.exe.
  • MSBuild (und Visual Studio) zielt jetzt auf .NET Framework 4.7.2 ab. Wenn Sie die neuen MSBuild-API-Funktionen verwenden möchten, müssen Sie ebenfalls ein Upgrade Ihrer Assembly durchführen, wobei vorhandener Code aber weiterhin funktionsfähig bleibt.

C#

Bei allen Releases vor Visual Studio-2019 entsprach die C#-Standardsprachversion immer der neuesten Hauptversion. Unter Visual Studio 2017 wurde C# weiterentwickelt, und drei Nebenversionen wurden veröffentlicht: 7.1, 7.2 und 7.3. Für neue Projekte wurde jedoch standardmäßig weiterhin C# 7.0 verwendet. Dies erwies sich als frustrierend für C#-Entwickler, die neue Features verwenden wollten, die Sprachversion jedoch für jedes neue Projekt manuell ändern mussten.

Dieses Problem wird gelöst, indem die C#-Standardsprachversion durch das Zielframework festgelegt wird:

  • Wenn Sie die Vorschauversion von .NET Core 3.0 als Zielframework angeben, wird als C#-Sprachversion die Vorschauversion von C# 8.0 verwendet.
  • Wenn .NET Framework oder Versionen von .NET Core verwendet werden, die keine Vorschauversionen sind, wird als Sprachversion C# 7.3 verwendet.

Dadurch können standardmäßig die neuesten stabilen C#-Sprachfeatures verwendet werden. Bei der Nutzung von .NET Core-Vorschauversionen lassen sich zudem Vorschausprachfeatures von C# 8.0 mit der Vorschauversion von .NET Core 3.0 verwenden.

Wenn Sie in einem Projekt oder in einer Eigenschaftendatei eine Sprachversion mit LangVersion angeben, überschreibt diese Sprachversion den zuvor beschriebenen Standardwert.

C++

  • Arbeiten Sie jetzt in Echtzeit zusammen, wo Visual Studio Live Share C++ unterstützt.
  • Sparen Sie Zeit, indem Sie IntelliCode verwenden, eine optionale Erweiterung, die ihr umfassendes Training und Ihren Codekontext verwendet, um das, was Sie am wahrscheinlichsten verwenden werden, an den Anfang Ihrer Vervollständigungsliste zu setzen. Für C++ bietet IntelliCode die umfassendste Hilfe, wenn Sie beliebte Bibliotheken wie STL verwenden.
  • Wir haben mehrere Projektvorlagennamen und -beschreibungen so geändert, dass sie zum aktualisierten Dialogfeld „Neues Projekt“ passen.
  • Wir haben die experimentelle Komponente „Clang/C2“ entfernt. Verwenden Sie das MSVC-Toolset für vollständige Konformität mit dem C++-Standard mit „/permissive-“ und/oder „/std:c++17“ oder der Clang/LLVM-Toolkette für Windows. Weitere Details finden Sie im Visual C++-Teamblog.
  • Wir haben den Schalter „/Gm“ des C++-Compilers als veraltet markiert. Erwägen Sie, den Schalter „/GM“ in Ihren Buildskripts zu deaktivieren, wenn er explizit definiert wurde. Alternativ können Sie die Warnung wegen Veraltung für „/Gm“ auch ohne Bedenken ignorieren, da dies bei Verwendung von „Warnungen als Fehler behandeln“ (/WX) nicht als Fehler behandelt wird.
  • Die C++-Android-Erfahrung verwendet jetzt standardmäßig das Android SDK 25 und Android NDK 16b.
Produktivität
  • Die Codeanalyse wird jetzt automatisch im Hintergrund ausgeführt. Warnungen werden während der Eingabe als grüne Wellenlinien im Editor angezeigt.
  • Für die Vorlagenleiste wird nun die Peek-Fenster-Benutzeroberfläche anstelle eines modalen Fensters verwendet, werden verschachtelte Vorlagen unterstützt und werden alle Standardargumente im Peek-Fenster vorausgefüllt.
  • Automatische Korrektur für die „NULL ->nullptr“-Codeanalysewarnung (C26477 USE_NULLPTR_NOT_CONSTANT) steht über das Glühbirnenmenü in entsprechenden Zeilen zu Verfügung und ist standardmäßig im Regelsatz „C++ Core Check – Typenregeln“ aktiviert. Zusätzliche Schnellkorrekturen in der IDE umfassen das Hinzufügen fehlender #include-Direktiven, Beheben fehlender Semikolons und Korrigieren falscher Verwendungen von „*“ gegenüber „&“.
  • Vorkompilierte Header werden nicht mehr standardmäßig für C++-Konsolen- und -Desktop-Apps generiert.
  • „Gehe zu Definition“ funktioniert nun für #include-Direktiven, wobei die entsprechende Datei geöffnet wird. Dies schließt das F12-Tastaturkürzel ein, wodurch eine einfache Möglichkeit bereitgestellt wird, in Ihrem Code zu navigieren.
  • Wenn Sie den Mauszeiger auf eine schließende Klammer eines Codeblocks setzen, erhalten Sie einige nützliche Informationen über den Kontext dieses Blocks.
  • In ConcurrencyChecker wurde Unterstützung für bekannte STL-Typen aus dem <mutex>-Header hinzugefügt.
  • Eine aktualisierte Teilimplementierung der Lifetime-Profil-Prüfung ist verfügbar, um verbleibende Zeiger und Referenzen zu erkennen.
  • Im Compiler wurde erste Unterstützung für den C++-20-Operator <=> („Raumschiff“) für Drei-Wege-Vergleiche hinzugefügt.
CMake
  • Die Leistung von IntelliSense für C++-Dateien in CMake-Projekten wurde verbessert.
  • Visual Studio unterstützt Sie, Ihre C++-Entwicklung mit CMake unter Linux zu beginnen, indem es erkennt, ob Sie eine kompatible Version von CMake auf Ihrem Linux-Rechner haben. Ist dies nicht der Fall, bietet Visual Studio Ihnen an, CMake für Sie zu installieren.
  • Der Editor für CMake-Einstellungen bietet eine Alternative zu „CMakeSettings.json“ und bietet vergleichbares Arbeiten wie mit CMakeGUI.
  • Die CMake-Menü wurde entfernt und neu zusammengestellt, um engere Übereinstimmung mit Projekten und Projektmappen zu erzielen.
  • Inkompatible Einstellungen in CMakeSettings, etwa nicht passende Architekturen oder inkompatible CMake-Generatoreinstellungen, bewirken, dass Wellenlinien im JSON-Editor und Fehler in der Fehlerliste angezeigt werden.
  • Die vcpkg-Toolkette wird für CMake-Projekte, die in der IDE geöffnet werden, sobald vcpkg integrate install ausgeführt wurde, automatisch erkannt und aktiviert. Dieses Verhalten kann deaktiviert werden, indem eine leere Toolkettendatei in CMakeSettings angegeben wird.
  • Für CMake-Projekte wird „Nur eigenen Code“-Debuggen jetzt standardmäßig aktiviert.
  • Warnungen bei statischer Analyse können nun im Hintergrund verarbeitet und im Editor für CMake-Projekte angezeigt werden.
  • Es wurden eindeutigere build- und konfigurationsbezogene „begin“- und „end“-Nachrichten für CMake-Projekte sowie Unterstützung für die Build Statusanzeige von Visual Studio hinzugefügt. Zusätzlich gibt es nun in Tools > Optionen eine CMake-Ausführlichkeitseinstellung, um den Detaillierungsgrad der CMake-Build- und -Konfigurationsmeldungen für das Ausgabefenster anzupassen.
  • Die Einstellung „cmakeToolchain“ wird jetzt in CMakeSettings unterstützt, um Toolketten anzugeben, ohne die CMake-Befehlszeile manuell zu ändern.
Back-End
  • Es wurden Build-Durchsatzverbesserungen implementiert, einschließlich der Handhabung von Datei-E/A und Linkzeit durch den Linker beim Zusammenführen und Erstellen von PDB-Typen.
  • Es wurde grundlegende Unterstützung für OpenMP SIMD-Vektorisierung hinzugefügt. Dies kann mit dem neuen CL-Argument „-openmp:experimental“ aktiviert werden. Dadurch wird es möglich, Schleifen, die mit "#pragma omp simd" kommentiert sind, eventuell zu vektorisieren. Die Vektorisierung ist nicht garantiert, und für Schleifen, die kommentiert, aber nicht vektorisiert sind, wird eine Warnung ausgegeben. Werden keine SIMD-Klauseln unterstützt, werden diese einfach ignoriert, und es wird eine Warnung ausgegeben.
  • Es wurde das neue Inlining-Befehlszeilenargument „-Ob3“ hinzugefügt, das eine aggressivere Version von „-Ob2“ ist. „-O2“ (die Binärdatei hinsichtlich Geschwindigkeit optimieren) impliziert weiterhin standardmäßig „-Ob2“. Sollten Sie der Meinung sein, dass der Compiler zu wenig Inlining verwendet, sollten Sie „-O2 -Ob3“ übergeben.
  • Um manuelle Vektorisierung von Schleifen zu unterstützen, in denen Aufrufe für mathematische Bibliotheksfunktionen und bestimmte andere Operationen wie Ganzzahldivisionen enthalten sind, wurde Unterstützung für intrinsische Funktionen der Short Vector Math Library (SVML) hinzugefügt, in denen die 128-Bit-, 256-Bit- oder 512-Bit-Vektoräquivalente berechnet werden. Definitionen der unterstützten Funktionen finden Sie im Intel Intrinsics Guide.
  • Neue und verbesserte Optimierungen:
    • Konstantenfaltung und arithmetische Vereinfachungen für Ausdrücke mit systeminternen SIMD-Funktionen (Vektorfunktionen) für Float- und für Integer-Formen
    • Eine leistungsfähigere Analyse zum Extrahieren von Informationen aus der Ablaufsteuerung (if/else/switch-Anweisungen), um Zweige zu entfernen, für die feststeht, dass sie immer gleich „true“ oder „false“ sind
    • Verbessertes „memset“-Auflösen, um SSE2-Vektoranweisungen zu verwenden
    • Verbessertes Entfernen von nutzlosen struct/class-Kopien, insbesondere für C++-Programme, in denen Übergabe nach Wert erfolgt
    • Verbesserte Optimierung von Code mit „memmove“, z. B. Erstellung von „std::copy“ oder „std::vector“ und „std::string“
Veraltete Elemente
  • Die Vorlage für verwaltete C++-Testprojekte (Managed C++ Test Project) ist nicht mehr verfügbar. Sie können das verwaltete C++-Testframework weiterhin in Ihren vorhandenen Projekten verwenden, aber für neue Komponententests sollten Sie eines der nativen Testframeworks, für die Visual Studio Vorlagen (MSTest, Google Test) bereitstellt, oder die Vorlage für verwaltete C#-Testprojekte (Managed C# Test Project) verwenden.
  • Das Windows 8.1 SDK ist nicht mehr im Visual Studio-Installer verfügbar. Aktualisieren Sie Ihre C++-Projekte auf das neueste Windows 10 SDK. Haben Sie eine unumgängliche Abhängigkeit zu 8.1, können Sie das SDK aus dem Windows SDK-Archiv herunterladen.
  • Windows XP als Ziel ist für den neuesten C++-Toolset nicht mehr verfügbar. XP als Ziel mit MSVC-Compiler und -Bibliotheken in der Version für Visual Studio 2017 wird weiterhin unterstützt und kann über „Einzelne Komponenten“ installiert werden.
  • In der Dokumentation wird aktiv von einer Verwendung von Mergemodulen für die Bereitstellung von Visual C++ Runtime abgeraten. In diesem Release gibt es den zusätzlichen Schritt, dass unsere MSM-Dateien zu veralteten Dateien gemacht werden. Sie sollten erwägen, Ihre zentrale VCRuntime-Bereitstellung von MSMs zum Redistributable Package zu migrieren.
  • Die folgenden C++ ATL/MFC-Assistenten sind nicht mehr verfügbar: ATL COM+ 1.0 Komponenten-Assistent, ATL-Assistent für Active Server Pages-Komponenten, ATL-OLE DB-Anbieter-Assistent, ATL-Eigenschaftenseiten-Assistent, ATL-OLE DB-Consumer-Assistent, MFC-ODBC-Consumer, MFC-Klasse aus ActiveX-Steuerelement und MFC-Klasse aus der Typbibliothek (typelib). Beispielcode für diese Technologien ist im VCSamples-GitHub-Repository archiviert.

F#

In den folgenden drei Hauptbereichen wurden F#-Verbesserungen in Visual Studio 2019 erzielt:

  • F# 4.6
  • Deutliche Leistungssteigerung für mittlere und große Projektmappen
  • Viele Beiträge unserer großartigen Open Source-Community
F# 4.6

Dieses Release enthält die F# 4.6-Sprache:

Verbesserungen beim F#-Compiler und bei FSharp.Core

Der F#-Compiler und FSharp.Core wurden um zahlreiche Verbesserungen ergänzt, die insbesondere auf Open Source-Mitwirkende zurückzuführen sind:

  • fsi.exe und fsc.exe sind nun standardmäßig auf .NET Framework 4.7.2 eingestellt, sodass Komponenten geladen werden können, die auf dieses Framework oder niedriger ausgerichtet sind (#4946).
  • Wir haben die Methoden für Strukturen und Strukturdatensätze optimiert sowie Methoden für Klassen und klassenbasierte Datensätze (#3057).
  • Die übersetzte Zwischensprache für kombinierte boolesche Logik in F#-Code wurde optimiert (#635).
  • Die Verwendung von + mit Zeichenfolgen in F# wurde optimiert, sodass die kleinstmögliche Anzahl von String.Concat-Aufrufen ausgeführt wird (#5560).
  • Korrigiert: Im FSharp.Core-Paket waren einige zusätzliche Verzeichnisse mit Testobjekten enthalten. FSharp.Core 4.5.5 und 4.6.1 sollten die Korrektur (#5814) aufweisen.
  • Wenn ein benutzerdefiniertes Attribut nicht von der Attribute-Klasse erbt, wird jetzt eine Warnung angezeigt (Beitrag von Vasily Kirichenko).
  • Der AssemblyInformationVersionAttribute-Wert in einer Projektdatei unterstützt jetzt beliebige Werte, um Szenarien wie SourceLink zu unterstützen (#4822).
  • Ein Fehler, bei dem unzulässige Syntax mit aktiven Mustern einen internen Compilerfehler verursachen würde, wurde von Steffen Forkmann behoben (#5745).
  • Ein Fehler, bei dem das Module-Suffix fälschlicherweise zu einem Modul in einem rekursiven Modul hinzugefügt wurde, um einem Typ zu entsprechen, bei dem der einzige Unterschied ein generischer Parameter war, wurde von BooksBaum behoben (#5794).
  • Die Fehlermeldung, wenn Typparameter nicht an Typnamen angrenzen, wurde von Alan Ball verbessert (#4183).
  • Das Literalsuffix uint16 wird in den Fehlermeldungen für ungültige numerische Literale korrekt aufgeführt, von Teo Tsirpanis (#5712).
  • Fehlermeldungen für Berechnungsausdrücke führen nicht mehr async in der Meldung an und beziehen sich stattdessen auf „Berechnungsausdrücke“, von John Wostenberg (#5343).
  • Eine Fehlermeldung bei fehlerhaftem Verweis auf .dlls in F# Interactive wurde von Bartoz Sypytkowski korrigiert (#5416).
  • Ein Fehler, bei dem statisch aufgelöste Typparameter nicht zum Aufrufen eines Members verwendet werden konnten, das einen geerbten Member ausblendet, wurde von Victor Peter Rouven Müller (#5531) behoben.
  • Verschiedene kleinere Leistungsverbesserungen am Compiler wurden von Steffen Forkmann und Robert Jeppesen hinzugefügt.
F#-Leistungsverbesserungen

Ein weiterer wichtiger Schwerpunktbereich für F# in Visual Studio 2019 war die Leistung für mittlere und große Projektmappen. Dabei wurden einige Probleme behoben, die bereits lange bekannt sind und teilweise bis zur ersten Edition der F#-Tools für Visual Studio zurückreichen. Einige Verbesserungen stammen außerdem von der großartigen Open Source-Community für F#.

  • Die Art und Weise, wie der F#-Sprachdienst durch Roslyn installiert wird, wurde überarbeitet. Farbliche Typenkennzeichnung für größere Projektmappen sollte in der Regel schneller angezeigt werden.
  • Die Darstellung des Quelltexts wurde geändert, um insbesondere bei größeren Dateien eine hohe Speicherbelegung über einen längeren Zeitraum zu vermeiden (#5935, #5936, #5937, #4881).
  • Die Buildcaches wurden für kleine Änderungen an Dateien so angepasst, dass deutlich weniger Speicher verbraucht wird (#6028).
  • Ein Compilerfeature, das Namen bei der Eingabe nicht erkannter Tokens anzeigt, wurde so angepasst, dass Vorschläge nur noch bei Bedarf angezeigt werden. Dadurch verringert sich die CPU- und Speicherauslastung deutlich, wenn in großen Projektmappen langsam getippt wird (#6044).
  • IntelliSense wurde so angepasst, dass standardmäßig keine Symbole mehr aus nicht geöffneten Namespaces angezeigt werden. Dadurch verbessert sich die Leistung von IntelliSense in Projekten mit vielen Verweisen erheblich. Dieses Feature kann in den Einstellungen über Extras > Optionen > Text-Editor > F# > IntelliSense wieder aktiviert werden.
  • Wir haben die Arbeitsspeicherverwendung verbessert, wenn mithilfe von Typanbietern große Mengen bereitgestellter Typen in einer Vervollständigungsliste generiert werden (#5599).
  • Ein Problem bei der Verringerung der CPU- und Speicherauslastung für einen internen Zeichenfolgen-Vergleichsalgorithmus, der nicht erkannte Namen vorschlägt, wurde von Avi Avni behoben (#6050).
  • Eine wichtige Quelle für große Zeichenfolgenzuweisungen, insbesondere für IDE-Tools, wurde durch Avi Avni (#5922) korrigiert.
  • Eine Ursache für eine hohe Speicherbelegung des Heaps mit Large Object-Typen im Zusammenhang mit IntelliSense wurde von Chet Husk behoben (#6084).
F#-Toolverbesserungen

Zusätzlich zu den Leistungsverbesserungen wurden noch weitere Optimierungen an den F#-Tools für Visual Studio-2019 vorgenommen:

  • Die Codefehlerbehebung für die „open hinzufügen“-Anweisung fügt die open-Anweisung jetzt standardmäßig am Anfang der Datei ein.
  • Wir haben einen Fehler behoben, bei dem match! in Benutzercode Strukturführungslinien und Codegliederungsknoten für nachfolgende Bereiche ungültig gemacht hat (#5456).
  • Der Editor verwendet jetzt mit der änderbaren Wertfarbgebung die richtigen Farben für die Werte byref, outref und ref als Datensatzfelder (#5579).
  • Wir haben einen Fehler behoben, bei dem das Umbenennungs-Refactoring das Zeichen ' in Symbolnamen nicht erkannt hat (#5604).
  • Es wurde ein langjähriger Fehler behoben, bei dem ein Umbenennen von F#-Skriptdateien zu einem Verlust von Daten für die farbliche Kennzeichnung geführt hat (#1944).
  • IntelliSense wurde so angepasst, dass beim Drücken der RÜCKTASTE keine unzusammenhängenden Listenelemente angezeigt werden.
  • Bei aktivierten intelligenten Einzügen wird in den Editor eingefügter F#-Code jetzt so formatiert, dass er einem angemessenen Bereich entspricht, basierend auf der aktuellen Cursorposition, implementiert von Saul Rennison (#4702).
  • Von Jakob Majocha (#5997, #5998) korrigiert: F#-Editor-Optionen wurden nicht synchronisiert.
  • Ein Fehler, durch den IntelliSense in einem Konstruktor innerhalb einer inherit-Klausel nicht den primären Konstruktor angezeigt hat, wurde von Eugene Auduchinok behoben (#3699).
  • Verschiedene kleinere Verbesserungen am F#-Sprachdienst wurden von Eugene Auduchinok vorgenommen.
Open Source-Infrastruktur für F#

Die Codebasis für F# und für die F#-Tools wurde vollständig zum .NET SDK migriert. Dadurch können insbesondere Entwickler, die nicht Windows verwenden, wesentlich einfacher Beiträge einreichen. Jakob Majocha hat darüber hinaus angesichts der Änderungen an der Codebasis Dokumente für neue Mitwirkende überarbeitet.

Python

Basierend auf Kundenfeedback haben wir die Funktionen zum Verwalten von Python-Umgebungen in Visual Studio 2019 überarbeitet:

  • Wir haben ein neues Dialogfeld „Umgebung hinzufügen“ hinzugefügt, mit dem Sie virtuelle und Conda-Umgebungen einfacher in Ihrem Projekt erstellen und hinzufügen können.
  • Das Installationsprogramm von Visual Studio installiert keine Vollversionen von Anaconda mehr, um die Größe von Visual Studio-Installationen zu verringern und Fehler während Upgrades zu vermeiden.
  • Miniconda ist mit Python-Arbeitsauslastung als optionale Komponente gebündelt, sodass Sie conda-Umgebungen erstellen können, ohne Miniconda/Anaconda installieren zu müssen.
  • Sie werden jetzt automatisch aufgefordert, eine Umgebung hinzufügen, wenn eine Datei „requirements.txt“ (virtuelle Umgebung) oder „environment.yml“ (Conda-Umgebung) im Stamm Ihres Projekts vorhanden ist.
  • Es ist eine neue Symbolleiste für Python-Umgebungen verfügbar, wenn Python-Dateien bearbeitet werden. Die neue Symbolleiste ermöglicht es Ihnen, zwischen verschiedenen Python-Interpretern zu wechseln, wenn Sie mit Projekten, Arbeitsbereichen mit offenen Ordnern oder losen Python-Dateien in anderen Projekten arbeiten.
  • Die automatische Vervollständigung in Python-IntelliSense wurde optimiert. Beispielsweise werden jetzt relative Importe und Namespaceimporte besser erkannt.
  • Django-Projektvorlagen wurden aktualisiert und unterstützen nun Django 2.x.
  • Funktionsrückgabewerte werden jetzt im Python-Debugger angezeigt.
  • Sie können ab sofort Visual Studio Live Share-Sitzungen erstellen und mit anderen Visual Studio-Benutzern zusammen an Python-Code arbeiten. Bisher wurde Python nur unterstützt, wenn an Sitzungen teilgenommen wurde, die in Visual Studio Code erstellt wurden.

JavaScript/TypeScript

  • Es wurde die Möglichkeit hinzugefügt, JavaScript-Debuggen in Komponententests in Node.js-Projekten zu aktivieren. Diese Funktionalität wurde seit langem von Node.js-Kunden gefordert.
  • Der JavaScript/TypeScript-Sprachdienst wird jetzt automatisch in Projekten geladen, in denen das TypeScript NuGet-Paket oder das npm-Paket installiert ist (TypeScript 3.2 und höher wird vom NuGet-Paket und TypeScript 2.1 und höher wird vom npm-Paket unterstützt).
  • Die Leistung des Sprachdiensts wurde verbessert, indem die Arbeitsspeichergrenze für den Sprachdienst erhöht wurde, damit größere Projekte verarbeitet werden können.
  • Diagnosen von geschlossenen JavaScript/TypeScript-Dateien werden nicht mehr standardmäßig in der Fehlerliste angezeigt.
  • Der veraltete JavaScript-Sprachdienst ist nicht mehr verfügbar. Vorher hatten Benutzer die Möglichkeit, den Legacy-JavaScript-Sprachdienst wiederherzustellen. Benutzer verfügen jetzt von Anfang an über den neuen JavaScript-Sprachdienst. Der neue Sprachdienst basiert auf dem TypeScript-Sprachdienst, der auf statischer Analyse basiert. Dies ermöglicht eine bessere Verwendung von Tools, sodass Ihr JavaScript-Code vom umfangreicheren IntelliSense, basierend auf Typdefinitionen, profitieren kann. Der neue Dienst ist schlank und verbraucht weniger Speicher als der Legacydienst, bietet Benutzern aber gleichzeitig bessere Leistung, wenn deren Code skaliert.

Team Explorer und Azure DevOps

Die Benutzeroberfläche für Git-Arbeitselemente in Azure DevOps wurde verbessert.

  • Weisen Sie sich selbst oder anderen mit der neuen Identitätsauswahl Arbeitselemente zu. Standardmäßig wird eine Liste der Personen angezeigt, die Sie zuletzt ausgewählt haben. Sie können aber auch die Suchfunktionalität verwenden, um nach anderen Benutzern in Ihrer Organisation zu suchen.
  • Die #Nennungen-Verarbeitung in der Commitnachricht wurde verbessert. Wie Sie ein Arbeitselement in der #Nennungen-Auswahl auswählen, wird es automatisch der Liste „Verknüpfte Arbeitsaufgaben“ hinzugefügt.
Assigning work items and #mention improvements
Zuweisen von Arbeitsaufgaben und #Nennungs-Verbesserungen

Hervorhebung des langsamsten Pfads

  • Im Leistungsprofiler wurde sowohl für „CPU-Auslastung“ als auch für DotNet-Objektzuordnung Hervorhebung des langsamsten Pfads hinzugefügt. Wählen Sie irgendeine Funktion in der Aufrufstruktur aus, und klicken Sie auf die Schaltfläche „Langsamster Pfad“, um den langsamsten Pfad für CPU-Auslastung oder DotNet-Objektzuordnung zu erweitern. Über dieses Feature können Sie auf einfache Weise die Funktionsaufrufe erkennen, die den höchste Prozentsatz der CPU-Nutzung beanspruchen oder für die die meisten Objekte zugeordnet werden.
Hot path highlighting in the CPU Usage tool
Hervorhebung des langsamsten Pfads im Tool „CPU-Auslastung“

.NET- und ASP.NET-Tools

  • Es wurden verschiedene kleine UX-Verbesserungen an der Zusammenfassungsseite des Veröffentlichungsprofils (neue Abschnittsheader und Aktionen/Verknüpfungen) für alle Anwendungen implementiert.
  • Wenn ASP.NET-Anwendungen in Azure App Service veröffentlicht werden, hat die Zusammenfassungsseite des Veröffentlichungsprofils nun einen neuen Abschnitt namens „Abhängigkeiten“. In diesem neuen Abschnitt können Sie derzeit Azure Storage- und Azure SQL-Ressourcen mit Ihrer App Service-Instanz verknüpfen. Zukünftig wird es weitere Azure-Dienste geben, die über diesen Mechanismus verfügbar gemacht werden.
  • Verwenden von Codemetriken mit .NET Core-Projekten mit unserer hinzugefügten Kompatibilität.
  • Exportieren von Editor-Einstellungen in eine Editorconfig-Datei über Tools > Optionen > Text-Editor > C# > Codeformat mit der Schaltfläche „.editorconfig-Datei aus Einstellungen generieren“.
  • Verwenden der neuen Regex-Parserunterstützung von C# und Visual Basic. Reguläre Ausdrücke werden nun erkannt, und Sprachfunktionen sind für diese aktiviert. Regex-Zeichenfolgen werden entweder erkannt, wenn eine Zeichenfolge an den Regex-Konstruktor übergeben wird, oder wenn einer Zeichenfolge unmittelbar ein Kommentar vorangeht, der die Zeichenfolge language=regex enthält. Die in diesem Release enthaltenen Sprachfunktionen sind Klassifizierung, „Zugehörige Klammer“, Verweise hervorheben und Diagnose.
Regular expressions now have parser support
Parserunterstützung für reguläre Ausdrücke
  • Sie können jetzt die Analyse von totem Code für nicht verwendete private Member mit einer optionalen Codefehlerbehebung verwenden, um nicht verwendete Memberdeklarationen zu entfernen.
  • Die Funktion „Verweise suchen“ für einen Accessor gibt jetzt nur Ergebnisse für diesen Accessor zurück.
  • Wir haben eine Codefehlerbehebung zum Generieren einer Dekonstruktionsmethode hinzugefügt.
  • Using-Anweisungen können hinzugefügt werden, wenn Code in eine Datei eingefügt wird. Nach dem Einfügen erkannten Codes wird eine Codefehlerbehebung angezeigt, in der Sie aufgefordert werden, relevante fehlende Importe zu ergänzen.
  • Über „STRG+.“ oder „ALT+EINGABE“ stehen jetzt mehr Refactorings und schnelle Aktionen zur Verfügung:
    • In Fällen, bei denen „await“ impliziert ist, aber ausgelassen wurde, gibt es jetzt eine Compilerwarnung.
    • Für das Konvertieren einer lokalen Funktion in eine Methode.
    • Für das Konvertieren eines Tupels in eine benannte Struktur (named-struct).
    • Zum Konvertieren eines anonymen Typs in eine Klasse.
    • Für das Konvertieren eine anonymen Typs in ein Tupel.
    • Für das Konvertieren eine foreach-Schleife in eine LINQ-Abfrage oder in eine LINQ-Methode.
  • Sie verfügen nun über zusätzliche Unterstützung für ASP.NET Core-Anwendungen, die in einem Azure Kubernetes Service ausgeführt werden. Informationen zum Einstieg finden Sie in diesem Docker-Beispiel auf GitHub.
  • ASP.NET wird jetzt im CPU-Auslastungstool des Leistungsprofilers unterstützt.
CPU Usage Tool in Performance Profiler
CPU-Auslastungstool im Leistungsprofiler
  • Sie können jetzt „Alle Verweise suchen“ (UMSCHALT+F12) und CodeLens verwenden, um Ergebnisse aus Razor-Dateien (CSHTML) in .NET Core-Projekten anzuzeigen. Danach können Sie dann zu dem identifizierten Code in den relevanten Razor-Dateien navigieren.
  • Wir haben Unterstützung für ASP .NET-Anwendungen (Core und Desktop) hinzugefügt, die auf virtuellen Windows-Computern (VMs) und VM-Skalierungsgruppen ausgeführt werden.
Snapshot debugger target selection UI
Benutzeroberfläche für die Zielauswahl im Momentaufnahmedebugger
  • Sie erhalten jetzt eine Warnung, wenn die Codeanalyse mittels FxCop ausgeführt wird. .NET Compiler-Analysetools sind von nun an die empfohlene Methode zum Ausführen einer Codeanalyse. Lesen Sie mehr über Migrieren zu .NET Compiler Platform-Analysetools.
  • PCL-Projektvorlagen (Portable Klassenbibliothek) sind nicht mehr verfügbar, und die Projektunterstützung wird nicht standardmäßig installiert. Neue Projekte, die für mehrere Plattformen vorgesehen sind, sollten den .NET Standard-Projekttyp verwenden. Kunden, die Unterstützung für PCL-Projekte benötigen, müssen die Komponente separat über die Registerkarte „Einzelne Komponenten“ im Visual Studio-Installationsprogramm installieren.
  • Der Befehl „Project.CopyWebSite“ ist nicht mehr verfügbar. Diese Funktion war nur zusammen mit dem „Website“-Projekttyp für .NET verfügbar. Sie stellte die Möglichkeit zum Synchronisieren zweier Websites bereit, sodass auf beiden dieselbe Version aller Dateien vorhanden war. In Visual Studio 2019 können Sie die Dateien von dem Remoteziel außerhalb von Visual Studio kopieren und dann das Projekt öffnen.
  • Die Möglichkeit zum Öffnen eines Websiteprojekts von einem FTP-Remotespeicherort wurde entfernt. FTP-Benutzer können die Dateien von dem Remoteziel außerhalb von Visual Studio kopieren, das Projekt öffnen, Änderungen vornehmen und dann die Dateien mittels Veröffentlichen wieder zurück an den FTP-Remotespeicherort übertragen.
  • Die ASP.NET- und Webworkload installiert keine benutzerdefinierte CoffeeScript-Bearbeitungserfahrung mehr. Die TextMate-Bündel von Visual Studio bieten eine herausragende Erfahrung für die Arbeit mit CoffeeScript.
  • CSS- und CoffeeScript-Fehler, die derzeit von integrierten Kopien von „CSSLint“ und „CoffeeLint“ generiert werden, werden beim Bearbeiten dieser Dateien nicht mehr automatisch angezeigt. Verwenden Sie eine alternative Methode zum Ausführen von Linters wie npm oder den Taskausführungs-Explorer von Visual Studio.
  • Visual Studio bietet kein IntelliSense mehr für Knockout HTML-Attribute. In Visual Studio 2019 müssen Sie die Attribute eingeben.
  • Die Möglichkeit zur Verwendung des Legacy-Chrome-Debuggers in ASP.NET-Projekten zum Debuggen von JavaScript wurde entfernt. Sie können weiterhin den aktuellen, in Visual Studio integrierten Chrome-Debugger verwenden.
  • JavaScript-Konsolenfunktionen können nicht mehr in ASP.NET-Projekten verwendet werden. Es wird empfohlen, die Konsole zu verwenden, die in die Entwicklertools Ihres Browsers integriert ist.

Containertools

  • Es wurde eine optimierte Einzelprojekt-Benutzeroberfläche für das Containerisieren und Debuggen hinzugefügt:
    • ASP.NET Web Applications (.NET Framework)
    • Console Applications (.NET Core)
  • Es ist nun möglich, ASP.NET Core-Anwendungen zu debuggen, für die Alpine als Basisimage verwendet wird.
  • Es wurde Unterstützung für die aktuellsten ASP.NET- und .NET Core-Images hinzugefügt.

.NET Core-Tools

.NET Core 3.0

Mit diesem Release können Sie ASP.NET Core-, Konsolen- und Klassenbibliothek-Projekte für .NET Core 3.0 erstellen, wenn Sie das Preview-SDK installiert haben.

Wenn Sie Visual Studio RC verwenden, müssen Sie auch zu Tools > Optionen > Projekte und Projektmappen > .NET Core gehen und das Kontrollkästchen zum Verwenden von Vorschauversionen der .NET Core SDKs aktivieren. Wenn Sie Visual Studio Preview verwenden, sind diese Schritte nicht notwendig. Lesen Sie den Artikel .NET Core tooling update for Visual Studio 2017 version 15.9 (.NET Core-Toolupdate für Visual Studio 2017 Version 15.9), um mehr über diese Einstellung und ihr Verhalten zu erfahren.

Sie können auch Windows Forms- oder WPF-Projekte für .NET Core 3.0 mit dem „dotnet new“-Befehl erstellen. Diese Projekte können dann in Visual Studio 2019 geöffnet werden.

Neue Funktionen

Ab diesem Release werden Projektdateien für Projekte im .NET SDK-Stil zu einem erstklassigen Dateityp in Visual Studio gemacht. Folgendes wird nun unterstützt:

  • Doppelklicken auf einen Projektknoten, um die Projektdatei zu öffnen
  • Einfaches Klicken auf den Projektknoten, um die Projektdatei in einer Vorschauregisterkarte zu öffnen
  • Suchen nach einer Projektdatei anhand des Namens über „Gehe zu allen“ (ctrl + T)
  • MSBuild-Elemente in einer Projektdatei sind jetzt mit „In Dateien suchen“ durchsuchbar
  • Öffnen aus der Fehlerliste, wenn ein Projekterstellungsfehler ausgelöst wird

Außerdem wird für Projekte im .NET SDK-Stil nun die neue Vorgehensweise bezüglich der integrierten Konsole für F5 und ctrl + F5 für Konsolenanwendungen verwendet. Dadurch wird die Vorgehensweise vereinheitlicht, wenn Konsolenanwendungen aus Visual Studio gestartet werden:

  • Für F5 wird das Konsolenfenster nicht automatisch geschlossen, wenn das Ausführen der Anwendung beendet wurde. Es ist nicht mehr erforderlich, Console.Read()-Aufrufe zu Ihren Konsolenanwendungen hinzuzufügen.
  • Für ctrl + F5 wird das Konsolenfenster in nachfolgenden Ausführungen Ihrer Anwendung erneut verwendet. Sie müssen nicht mehr unzählige Konsolenfenster schließen.

Das neue Konsolenfenster kann automatisch geschlossen werden, indem bei geöffnetem Fenster eine Taste gedrückt wird oder indem die Option unter Tools > Optionen > Konsole beim Beenden des Debuggings automatisch schließen ausgewählt wird.

In Projekteigenschaftenseiten werden nun Lizenzausdrücke und -dateien unterstützt. Dies geht einher mit Änderungen, durch die licenseUrl in NuGet als veraltet gekennzeichnet wird.

Leistungsverbesserungen
  • Die Skalierbarkeit großer Projektmappen wurde erheblich verbessert, wodurch deutlich größere .NET Core-Projektmappen als bisher verwendet werden können.
  • Bei großen Projekten wurden die Ladezeiten für Projektmappen und die CPU- sowie Speicherauslastung bei Ladevorgängen deutlich reduziert.
Featureparität mit Projekten, die nicht zu .NET Core gehören

Eine vollständige Liste der Issues und Pull Requests finden Sie in der jeweiligen Übersicht zu Meilensteinen in Release 16.0, Vorschauversion 2 von Release 16.0 , Vorschauversion 3 von Release 16.0 und Vorschauversion 4 von Release 16.0.

.NET-Produktivität

  • .NET-Refactorings und -Codekorrekturen:

    • Synchronisieren von Namespace und Ordnername
    • Refactoring über Hochziehen von Elementen mit Dialogfeldoptionen
    Pull members up refactoring with dialog options
    Dialogfenster „Pull Members Up“ (Mitglieder hochziehen)
    • Umbrechen/Einziehen/Ausrichten von Listen von Parametern/Argumenten
    • Konvertieren eines anonymen Typs in ein Tupel
    • Verwenden von Ausdrucks-/Blocktext für Lambda
    • Invertieren von bedingten Ausdrücken und logischen Operationen
    • Automatisches Schließen eines Blockkommentars bei „/“
    • Konvertieren in Verbundzuweisung
    • Korrigieren von „Implizit typisierte Variablen können nicht konstant sein“
    • Automatische Korrektur zum Ersetzen von @$" durch $@", wenn eine interpolierte ausführliche Zeichenfolge eingegeben wird
    • Vervollständigung für #nullable enable|disable
    • Korrektur für nicht verwendete Ausdruckswerte und Parameter
    • Korrektur zum Zulassen, dass Schnittstellenextraktion in derselben Datei bleiben darf
  • Kategorisieren von Referenzen nach Lesen/Schreiben

  • Hinzufügen der „when_multiline“-Option Editorconfig für „csharp_prefer_braces“.

  • Neue Klassifizierungfarben sind über das .NET Compiler Platform SDK verfügbar (auch bekannt als Roslyn). Neue Standardfarben, ähnlich den Visual Studio Code-Farben werden schrittweise eingeführt. Sie können diese Farben in Tools > Optionen > Umgebung > Schriftarten und Farben anpassen, oder Sie können sie in Umgebung > Previewfunktionen deaktivieren, indem Sie das Kontrollkästchen Verbesserte Farben verwenden deaktivieren. Wir würden uns freuen, wenn Sie uns mitteilen könnten, wie sich diese Änderung auf Ihren Workflow auswirkt.

New Roslyn classification colors
Neue Farben gemäß Roslyn-Klassifizierung

JavaScript-Debugging in ASP.NET-Projekten

  • Wenn Sie einen neuen Google Chrome-Browser mit benutzerdefinierten Argumenten über das Menü „Browserauswahl...“ für Ihr ASP.NET-Projekt hinzugefügt haben, aktiviert Visual Studio nun JavaScript-Debugging für Ihre Anwendung, wenn das Debugging gestartet wird. Ihre benutzerdefinierten Startargumente für Google Chrome werden beim Starten von Chrome angewendet.
Adding Google Chrome with Custom arguments using 'Browse with'
Hinzufügen von Google Chrome mit benutzerdefinierten Argumenten über „Browserauswahl...“
Hinweis: Visual Studio startet Chrome standardmäßig mit einem anderen Verzeichnis als Ihre normale Chrome-Instanz, es sei denn, Sie geben den Pfad zu Ihrem Datenverzeichnis als Argument an. Wenn Sie also möchten, dass bei der Verwendung dieser Chrome-Instanz Erweiterungen verfügbar sein sollen, müssen Sie diese beim ersten Mal installieren.

ASP.NET und Azure Functions-Tools

  • Visual Studio 2019 beinhaltet für die Erstellung von Projekten eine neue Benutzeroberfläche. Speziell zum Erstellen neuer ASP.NET-Projekte bietet Visual Studio zusätzliche Dialogfelder mit ASP.NET-spezifischen Auswahlmöglichkeiten. Diese zusätzlichen Dialogfelder wurden jetzt optisch an die restliche Benutzeroberfläche angepasst.
  • Seit einiger Zeit werden die Anmeldeinformationen für die Veröffentlichung in Visual Studio verschlüsselt und in der Benutzerdatei des Veröffentlichungsprofils gespeichert, sodass Sie sie nicht bei jeder Veröffentlichung Ihre Anwendung neu eingeben müssen. Benutzerdateien sind in der Regel standardmäßig von der Quellcodeverwaltung ausgeschlossen, da sie wahrscheinlich geheime und/oder persönliche Daten enthalten, die nicht weitergegeben werden sollten. Wenn bisher ein Veröffentlichungsprofil für ein Azure Functions-Projekt in die Quellcodeverwaltung eingecheckt wurde, die Benutzerdatei aber nicht, fehlten die Anmeldeinformationen für die Veröffentlichung und das Veröffentlichungsprofil konnte nicht wiederverwendet werden. Nun können die Anmeldeinformationen bearbeitet und eine neue Benutzerdatei erstellt werden, damit das Veröffentlichungsprofil wiederverwendet werden kann.

Leistungs-Assistent

In Visual Studio 2019 wurden die Profilerstellungserfahrungen, die im Leistungs-Assistenten zur Verfügung standen, in den Leistungsprofiler verschoben. Sie finden das CPU-Auslastungstool für die Stichprobenentnahme und die Instrumentierung im Instrumentierungstool im Leistungsprofiler. Durch diese Änderung wird der Leistungs-Assistent überflüssig und wurde somit in Visual Studio 2019 entfernt. Darüber hinaus wurde die Option für die Stichprobenentnahme in den VS-Leistungs-Befehlszeilentools entfernt. Ein Ersatz-Befehlszeilentool wird in einer kommenden Vorschauversion veröffentlicht.

Test Tools

  • Sie können jetzt im Projektmappen-Explorer mit der rechten Maustaste auf Tests, Testklassen oder Testprojekte klicken, um Tests auszuführen oder zu debuggen.
  • Bei Testläufen wird jetzt automatisch erkannt, welche Prozessorarchitektur in den Projekteigenschaften festgelegt ist.
  • OSS-Befehlsoberflächen-Testtools wie Selenium und Appium sind beliebter geworden und erfahren große Unterstützung durch die Community. Da diese Frameworks mittlerweile Branchenstandards darstellen, haben wir den Test der programmierten UI für automatisierte, UI-gesteuerte Funktionstests als veraltet markiert. Visual Studio 2019 ist die letzte Version von Visual Studio mit Coded UI-Testfunktionen. Wir empfehlen, dass Sie Selenium für das Testen von Webanwendungen und Appium mit WinAppDriver für das Testen von Desktop- und UWP-Apps verwenden.
  • Visual Studio 2019 ist die letzte Version von Visual Studio mit Auslastungstestfunktionen. Kunden, die Auslastungstesttools benötigen, empfehlen wir, alternative Auslastungstesttools wie Apache JMeter, Akamai CloudTest oder Blazemeter zu verwenden.
  • In Visual Studio 2019 wurden einige Testfenster-APIs, die zuvor als öffentlich markiert waren, aber nie offiziell dokumentiert wurden, entfernt. Sie wurden in Visual Studio 2017 als veraltet markiert, um Verantwortliche für die Erweiterungsverwaltung frühzeitig zu warnen. Nach unseren Erkenntnissen besitzen nur sehr wenige Erweiterungen Abhängigkeiten von diesen APIs. Diese APIs umfassen IGroupByProvider, IGroupByProvider, KeyComparer, ISearchFilter, ISearchFilterToken, ISearchToken und SearchFilterTokenType. Wenn sich diese Änderung auf Ihre Erweiterung auswirkt, teilen Sie uns dies mit, indem Sie ein Problem an die Entwickler-Community übermitteln.

Kubernetes-Tools für Visual Studio

Die Kubernetes-Tools für Visual Studio, die bisher als separate Erweiterung für Visual Studio 2017 verfügbar waren, sind jetzt in die Azure-Entwicklung-Workload in Visual Studio 2019 integriert.

Hinzufügen von Kubernetes-Unterstützung zu einem neuen Projekt

Um Kubernetes-Unterstützung zu einem neuen Projekt hinzuzufügen, öffnen Sie Visual Studio, und wählen Sie die Option Neues Projekt erstellen aus. Suchen Sie im Fenster Neues Projekt erstellen nach Kubernetes, und wählen Sie die Projektvorlage Containeranwendung für Kubernetes aus.

Creating a Container Application for Kubernetes
Erstellen einer Containeranwendung für Kubernetes

Klicken Sie auf Weiter, und geben Sie den Projektnamen, den Speicherort und den Projektmappennamen ein. Klicken Sie dann auf Erstellen. Wählen Sie die ASP.NET Core-Anwendungsvorlage aus, die Sie für Ihr Projekt verwenden möchten, und klicken Sie auf OK. Visual Studio erstellt automatisch ein Dockerfile- und ein Helm-Diagramm, die Sie dazu verwenden können, Ihre neue Anwendung in einem Kubernetes-Cluster zu erstellen und bereitzustellen. Sie können diese Artefakte nach Bedarf ändern.

Hinzufügen von Kubernetes-Unterstützung zu einem vorhandenen Projekt

Sie können auch Unterstützung für Kubernetes zu einer vorhandenen ASP.NET Core-Anwendung hinzufügen. Öffnen Sie dazu das Projekt in Visual Studio 2019. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt, zeigen Sie auf Hinzufügen, und klicken Sie auf Unterstützung für Containerorchestrator.

Adding container orchestrator support
Hinzufügen von Unterstützung für Containerorchestrator

Wählen Sie im Dialogfeld Unterstützung für Containerorchestrator hinzufügen die Option Kubernetes/Helm aus, und klicken Sie auf OK. Visual Studio erstellt automatisch ein Dockerfile- und ein Helm-Diagramm (in einem Ordner namens charts), die Sie dazu verwenden können, Ihre Anwendung in einem Kubernetes-Cluster zu erstellen und bereitzustellen. Ist eines dieser Artefakte bereits im Speicherort vorhanden, werden sie nicht überschrieben. Sie können diese Artefakte nach Bedarf ändern.

Erstellen einen öffentlich zugänglichen Endpunkts

Wenn Sie Kubernetes-Unterstützung zu einem neuen oder vorhandenen Projekt hinzufügen, werden Sie von Visual Studio gefragt, ob Sie einen öffentlich zugänglichen Endpunkt für Ihre Anwendung erstellen möchten.

Publicly accessible endpoint prompt
Eingabeaufforderung für Erstellen eines öffentlich zugänglichen Endpunkts

Wenn Sie auf Ja klicken, konfiguriert Visual Studio das Helm-Diagramm für Ihre Anwendung so, dass ein Kubernetes-Eingangsobjekt erstellt wird, wenn die Anwendung in einem Kubernetes-Cluster bereitgestellt wird. Sie können diese Option jederzeit ändern, indem Sie das Helm-Diagramm ändern.

Debuggen einer Anwendung in Azure Kubernetes Service

Sobald Sie die Kubernetes-Unterstützung zu einem neuen oder vorhandenen Projekt hinzugefügt haben, können Sie Ihre Anwendung problemlos in einem aktiven AKS-Cluster (Azure Kubernetes Service) über den Dienst Azure Dev Spaces erstellen, ausführen und debuggen. Dies ist nützlich, um Ihr Projekt im Kontext eines tatsächlichen Kubernetes-Clusters zu testen oder einen Dienst, der Teil einer viel größeren Anwendung ist, zu debuggen, ohne die gesamte Anwendung lokal replizieren zu müssen. Azure Dev Spaces bietet auch Funktionalität, die es Ihrem Entwicklungsteam ermöglicht, einen AKS-Cluster freizugeben. Weitere Informationen über Azure Dev Spaces finden Sie in der Dokumentation zu Azure Dev Spaces. Damit Sie beginnen können, müssen Sie Azure Dev Spaces in Visual Studio als Debugstartziel auswählen.

Selecting Azure Dev Spaces as debug launch target
Auswählen von Azure Dev Spaces als Debugstartziel

Bevor Sie Ihr Projekt erstmals in Azure Dev Spaces starten, konfigurieren Sie das Azure-Abonnement und den AKS-Cluster, die Sie verwenden möchten. Wählen Sie außerdem den Bereich aus, in dem Sie das Projekt ausführen möchten.

Configuring Azure Dev Spaces
Konfigurieren von Azure Dev Spaces

In der Regel führt das Team die neueste stabile Version der gesamten Anwendung im Bereich Standard aus. Sie führen dann Ihre Version des Diensts, an der Sie arbeiten, im einem untergeordneten Bereich des Bereichs Standard aus. Es ist nun nicht erforderlich, die anderen Dienste im untergeordneten Bereich auszuführen. Dev Spaces leitet Aufrufe von Ihrem Dienst automatisch an die stabilen Versionen der Dienste weiter, die in Standard ausgeführt werden. Weitere Informationen dazu, wie dies eingerichtet wird, finden Sie in den Teamentwicklungstutorials in der Dokumentation zu Azure Dev Spaces. Nachdem Sie das richtige Abonnement, den richtigen Cluster und den richtigen Bereich ausgewählt haben, klicken Sie auf OK, um die Konfiguration von Dev Spaces fortzusetzen. Wenn Sie einen Cluster auswählen, der noch keinen zugeordneten Dev Spaces-Controller hat, klicken Sie im folgenden Dialogfeld auf OK, damit automatisch ein Controller erstellt wird.

Enable Dev Spaces dialog
Dialogfeld „Azure Dev Spaces aktivieren“

Die Controllererstellung dauert ca. 2 Minuten. Sie können auf die Schaltfläche Hintergrundaufgaben in der unteren linken Ecke des Visual Studio-Fensters klicken, um den Status anzuzeigen.

Azure Dev Spaces controller creation status via Background Tasks
Erstellungsstatus des Azure Dev Spaces-Controllers über „Hintergrundaufgaben“

Sobald Sie einen einsatzbereiten Dev Spaces-Controller haben, drücken Sie F5, oder klicken Sie in der Symbolleiste auf die Debugschaltfläche Azure Dev Spaces, um Ihr Projekt in AKS zu debuggen.

Azure Dev Spaces debug button
Debugschaltfläche „Azure Dev Spaces“

Dev Spaces synchronisiert Ihren Code mit Azure, erstellt ein Containerimage, das Ihren Code enthält, und stellt das Image über das in Ihrem Projekt definierte Helm-Diagramm in Ihrem AKS-Cluster bereit. Visual Studio öffnet eine Remote-Debugverbindung mit dem Dienst, der im Cluster ausgeführt wird, sodass Sie mit diesem Dienst so arbeiten können, als würden Sie einen Dienst debuggen, der lokal ausgeführt wird.

Entwicklung für mobile Geräte mit Xamarin

Dieses Release umfasst Verbesserungen bei der Workloadgröße sowie der Android-Buildleistung und -zuverlässigkeit als auch Verbesserungen bei der Produktivität von Xamarin.Android und Xamarin.Forms.

  • Die Xamarin-Workload ist jetzt nur noch 7,69 GB, eine 2-fache Verringerung gegenüber Visual Studio 2017, Version 15.9, sowie eine 3-fache Verbesserung gegenüber Version 15.7.
  • Die IntelliCode-Erweiterung unterstützt jetzt Xamarin.Forms XAML.
Datei > Neues Projekt

Es wurden Leistungsverbesserungen vorgenommen, um die Zeit für die Erstellung eines neuen Xamarin-Projekts zu verkürzen, damit Sie schneller mit dem Erstellen Ihrer Anwendungen beginnen können. Es werden nun auch die NuGet-Pakete, die von den Vorlagen verwendet werden, als Teil der Workloadinstallation einbezogen, um die Wiederherstellungszeit der Pakete zu verkürzen, insbesondere wenn bei geringer Bandbreite oder offline gearbeitet wird. Diese Verbesserungen verringern die Zeit, die für ein vollständiges Laden und Wiederherstellen eines neues Xamarin-Projekts erforderlich ist, in einigen Fällen um fast 50 %.

New Xamarin project comparison gif
Erstellen ein neues Xamarin-Projekts in Visual Studio-Version 15.9 (links) und Visual Studio 2019 (rechts)
Buildstatusanzeige

Sie können nun ausführlichere Buildstatusinformationen sehen, wenn ein Build eines Projekts erstellt wird. Wird während eines Buildvorgangs auf das Symbol für Hintergrundaufgaben in der unteren linken Ecke geklickt, wird das aktuelle Buildziel angezeigt, das ausgeführt wird. Dies kann nützlich sein, um festzustellen, ob der Buildvorgang weiterhin ausgeführt wird, aber ein Ziel viel Zeit bis zum Abschluss beansprucht.

Xamarin build progress indicator
Xamarin-Buildstatusanzeige
Standardvorschaumodus der Xamarin.Forms-Vorschau

Um sich eine Vorschau Ihres Codes anzeigen zu lassen, müssen Sie nun nicht mehr Projekte für die Xamarin.Forms-XAML-Vorschau erstellen. Wenn sich in Ihrer XAML-Datei benutzerdefinierte Steuerelemente befinden, müssen Sie möglicherweise Ihr Projekt erstellen, damit die Vorschau funktioniert. Alternativ können Sie auch festlegen, dass diese Elemente zur Entwurfszeit gerendert werden.

Gerätedropdownmenü für Xamarin.Forms-Vorschau

Mit dem neuen Gerätedropdownmenü können Sie sich Ihren Xamarin.Forms-XAML-Code auf unterschiedlichen Android- und iOS-Geräten als Vorschau anzeigen lassen.

Xamarin.Forms Device Drop-Down
Gerätedropdownmenü für Xamarin.Forms
Xamarin.Forms-Eigenschaftenbereich

Sie können jetzt die gängigsten Attribute von Xamarin.Forms-Steuerelementen, -Zellen und -Layouts in einem Eigenschaftenbereich bearbeiten, und diese Änderungen werden sofort in Ihrem XAML wiedergegeben.

Xamarin.Forms Property Panel
Xamarin.Forms – Eigenschaftenbereich
Xamarin.Forms-Shell-Vorlage

Die Xamarin.Forms-Vorlagen wurden aktualisiert, sodass das neueste Xamarin.Forms-Release verwendet wird. Außerdem wurde eine neue Vorlagenoption für eine Xamarin.Forms-Shell-App hinzugefügt. Shell zielt darauf ab, die Komplexität von Apps zu verringern, während die Produktivität von Entwicklern erhöht wird und ein Fokussieren auf Renderinggeschwindigkeit und Arbeitsspeichernutzung erfolgt. Diese Vorlage bietet Ihnen eine bootstrap-fähige Shell-App für Android und iOS.

Android-Buildleistung und -zuverlässigkeit

In Visual Studio 2017, Version 15.9, und Visual Studio für Mac 7.7 haben wir Verbesserungen bei der anfänglichen Buildleistung und Buildkorrektheit vorgenommen. In Visual Studio 2019 und Visual Studio für Mac 7.8 haben wir die Erstellung und Bereitstellung sogar noch schneller gemacht.

Android Build Performance
*Android-Build ist jetzt schneller, als einen Kaffee zu holen*
  • Jetzt nutzen Sie die Android-Pakettools der nächsten Generation. Fügen Sie in der .csproj-Datei Ihres Projekts ein MSBuild-Flag hinzu, um diese Funktionen zu aktivieren:
    • aapt2 unterteilt die Android-Paketerstellung in zwei Schritte: Kompilieren und Linken (Verknüpfen). Dies verbessert die Leistung für inkrementelle Builds und sorgt für frühere Fehlerberichterstellung. Z. B. wenn nur in einer einzelnen Datei Änderungen vorhanden sind, müssen Sie nur diese Datei erneut kompilieren. <AndroidUseAapt2>True</AndroidUseAapt2>
  • Wenn Sie dieses Tool in Ihren Projekten aktivieren, ermöglichen Sie verbesserte Leistung sowohl zur Buildzeit als auch zur Laufzeit. Weitere Details zu diesen Eigenschaften finden Sie in unserer Dokumentation zum Buildprozess in Xamarin.Android.
Verbesserungen beim Android-Emulator

In Visual Studio 2019 lassen sich Android-Emulator-Images einfacher erstellen. Wir haben auch unserer Zusammenarbeit mit dem Windows-Team im Windows 10-Update Oktober 2018, Version 1809, fortgesetzt, um die Leistung des Android-Emulators zu verbessern, wenn er unter Hyper-V ausgeführt wird.

  • Neue Benutzer können ihr erstes Image erstellen, indem Sie einfach auf das Symbol „Ausführen“ drücken.
  • Unsere Funktionen zur Emulatorerfassung bestimmen automatisch die beste Konfiguration für Ihr Setup. Die Hardwarebeschleunigung (mit Intel HAXM oder Hyper-V) und der Schnellstart werden standardmäßig aktiviert.
  • Wenn Sie ein weiteres Image erstellen möchten, können Sie Android-Emulator erstellen in der Dropdownliste auswählen, um den Android-Geräte-Manager zu öffnen.
Verkürzen Ihrer Buildzeiten mit Verbesserungen für Erstellen (Build) in Xamarin.Android

Wir haben eine Reihe von ersten Verbesserungen an der Xamarin.Android-Buildleistung veröffentlicht. Mittlerweile gibt es in Xamarin.Android 9.1.1+ erhebliche Buildleistungsverbesserungen im Vergleich zum vorherigen Release. Lesen Sie den Buildleistungsvergleich zwischen Xamarin.Android 15.9 und 16.0, um ausführlichere Informationen zu erhalten.

Erweiterte schnelle Bereitstellung für Xamarin.Android

Schnelle Bereitstellung (Fast Deployment) bietet bisher kürzere inkrementelle Bereitstellungszeiten, indem es das erneute Erstellen oder Bereitstellen des Android-Pakets (APK-Datei) in Szenarien überspringt, in denen keine Änderungen an folgenden Elementen vorgenommen wurden: Objekte, Ressourcen, freigegebene native Bibliotheken, die in der App verpackt sind, oder benutzerdefinierte Klassen, die von Java.Lang.Object erben. Erweiterte schnelle Bereitstellung erweitert die Unterstützung für schnelle Bereitstellung, um sowohl freigegebene native Bibliotheken als auch Klassen zu erfassen, die von Java.Lang.Object erben. Für Builds mit schneller Bereitstellung, in denen diese neuen Erweiterungen verwendet werden, muss eine neue .apk-Datei nur in einer begrenzten Anzahl von Szenarien generiert werden, z. B. wenn die Datei AndroidManifest.xml durch Hinzufügen einer neuen Android.App.Application- oder Activity-Unterklasse geändert wurde. Diese Erweiterungen sind in der aktuellen Vorschauversion noch nicht standardmäßig aktiviert. Um sie zu aktivieren, legen die MSBuild-Eigenschaft $(AndroidFastDeploymentType) auf Assemblies:Dexes in Ihrer .csproj-Datei fest:

<PropertyGroup> 
  <AndroidFastDeploymentType>Assemblies:Dexes</AndroidFastDeploymentType> 
</PropertyGroup>
Unterstützung der nächsten Generation des Dex-Compilers (d8) und des Code-Shrinkers (r8) in Xamarin.Android

Xamarin.Android unterstützt jetzt den neuesten Android Dex-Compiler (d8) und Code-Shrinker (r8). Um diese Features zu aktivieren, legen Sie die $(AndroidDexTool)- bzw. die $(AndroidLinkTool)-MSBuild-Eigenschaft auf d8 bzw. r8 in Ihrer .csproj-Datei fest.

  • d8 ist ein Dex-Compiler der nächsten Generation, der schneller ausgeführt wird und kleinere DEX-Dateien mit besserer Laufzeitleistung erstellt.
<PropertyGroup> 
  <AndroidDexTool>d8</AndroidDexTool>
</PropertyGroup>
  • r8 ist ein neues Tool zur Verkleinerung und Minimierung, das Java-Bytecode in optimierten Dex-Code konvertiert und somit ProGuard ersetzen kann.
<PropertyGroup> 
  <AndroidLinkTool>r8</AndroidLinkTool>
</PropertyGroup>

Weitere Informationen zu d8 und r8 finden Sie in der folgenden Dokumentation.

Xamarin.Android Designer-Erweiterungen

Wir haben eine Reihe von Produktivitätsverbesserungen an den Interaktionen in der geteilten Ansicht vorgenommen.

  • Mittels direktem Drag & Drop aus der Toolbox in den Quellcode-Editor können Sie schnell die Gerüste Ihrer Android-Layouts erzeugen.
Android Designer Toolbox to Source Editor
  • Wählen Sie Elemente direkt im zugehörigen XML-Definitionsbereich im Quellcode-Editor aus. Wir haben dies implementiert, indem wir die Position der Einfügemarke mit der entsprechenden Android-Ansicht synchronisiert haben, was Ihnen den schnellen Zugriff auf die Eigenschaften eines Elements im Eigenschaftenbereich direkt aus dem Editor gestattet.
Android Designer Source Editor to Property Editor
  • Verwenden Sie eine Inlinefarbvorschau für Ihren XML-Code, damit Sie sehen, welche Farben in Ihren Steuerelementen verwendet werden.
Android Designer Color Preview
  • Verwenden Sie unsere QuickInfo-Funktion, indem Sie auf einen Wert zeigen, um weitere Informationen zu diesem zu erhalten, z. B. wo er definiert ist, oder welchen Hexadezimalwert die Farbe hat.
Android Designer Quick Info
*QuickInfo in Aktion*
Verbesserungen beim Xamarin.Android-Designer mit erster Unterstützung für Beschränkungslayouts

Es wurde damit begonnen, die Startgeschwindigkeit von Android Designer zu verbessern. Im Rahmen dieser Anstrengungen wurden auch die Meldungen verbessert, die vom Designer bereitgestellt werden, während er geladen wird.

Android Designer Output

Zusätzlich zu diesen Verbesserungen unterstützt Android Designer nun nativ Android Pie (9.0) und bietet automatische Vervollständigung für ConstraintLayout-Attribute.

Nutzen besserer IntelliSense- und Kommentierungsoptimierungen mit Xamarin.Android Designer

Wird IntelliSense verwendet, um ein Widget zu einem Layout hinzuzufügen, wird nun ein vollständiger Codeausschnittvorgang angeboten, sodass erforderliche Attribute von Anfang an bereitgestellt werden können. Es wurde intelligentes Kommentieren und Aufheben von Kommentierung für Android XML-Layouts hinzugefügt.

Erhöhen der Produktivität durch Verwenden von Go-To-Definition („Gehe zu Definition“) sowie XML IntelliSense in Android-Ressourcendateien und „AndroidManifest.xml“

Sie können jetzt über STRG+Mausklick auf Ressourcen-URLs klicken, um zu der Datei oder Zeile zu navigieren, in der die URLs definiert sind.

Android Designer Go-To-Definition

IntelliSense/Autovervollständigung wird nun auch für andere Android-XML-Dateien unterstützt, die nicht zu Layouts gehören (Farben, Zeichenfolgen, zeichenbare Ressourcen, Menü, Android-Manifest usw.).

Universelle Windows-Plattform

  • Die IntelliCode-Erweiterung unterstützt jetzt XAML.
  • Um die Komplexität und Größe der Einrichtung von Visual Studio zu verringern, wurden die Windows Phone-Emulatoren aus der Visual Studio-Installation entfernt. Sie müssen die Emulatoren jetzt manuell herunterladen.
  • XAML-Entwurfszeittools für UWP-Apps für Windows 10 SDKs vor dem Windows 10 Fall Creators Update (Build 16299) wurden entfernt. Richten Sie Ihre Anwendungen neu auf Windows 10, Version 1709 oder höher, aus, um den XAML-Designer zu verwenden, oder verwenden Sie den XAML-Editor.
  • UWP-Testprojekte, die project.json verwenden, um NuGet-Abhängigkeiten zu definieren, werden nicht mehr unterstützt. Sie müssen ein Upgrade Ihres Projekts durchführen, um das neue PackageReference-Format zu verwenden.
  • UWP-JavaScript-Apps werden in Visual Studio 2019 nicht mehr unterstützt. Sie können keine JavaScript-UWP-Projekte erstellen oder öffnen (Dateien mit der Erweiterung jsproj). Weitere Informationen finden Sie in unserer Dokumentation zum Erstellen von progressiven Web-Apps (PWAs), die sich gut unter Windows ausführen lassen.
  • Sie können weiterhin Anfügungen an JavaScript-UWP-Apps durchführen. Die JavaScript-Profilerstellungstools sind jedoch nicht mehr in Visual Studio 2019 enthalten.

Vorlagenaktualisierungen für Office-Tools

In Visual Studio 2019 haben wir ein paar Änderungen an den Vorlagen von Office, SharePoint und VSTO vorgenommen.

  • Die SharePoint 2019-Vorlagen, die in Visual Studio 2017 15.9 hinzugefügt wurden, sind auch in Visual Studio 2019 verfügbar.
  • Wir haben die Unterstützung für sequenzielle SharePoint-Workflows oder Zustandsautomatenworkflow entfernt. Zwar können Sie diese Workflows nicht in Visual Studio 2019 erstellen oder öffnen, doch Sie können sie weiterhin in früheren Versionen von Visual Studio bearbeiten.
  • Office 2010-Vorlagen sind nicht mehr verfügbar. Sie können aber vorhandene Office 2010-Projekten weiterhin in Visual Studio 2019 öffnen.
  • Die Office 2013- und 2016-Vorlagen wurden umbenannt, damit sie anzeigen, dass sie Office 2013 und höher unterstützen.

Team Explorer und Azure DevOps

Wir veröffentlichen eine neue, optimierte, entwicklungsorientierte Erfahrung beim Verbinden von Team Explorer mit einem Azure DevOps-Projekt.

  • Konzentrieren Sie sich auf relevante Arbeitselemente, indem Sie Ihre Ansicht filtern und pivotieren, basierend auf Ihnen zugewiesenen Arbeitselementen, solchen, denen Sie folgen, denjenigen, in deren Diskussion Sie erwähnt werden, und solchen, die auf Ihrer Aktivität basieren.

    • In jeder Ansicht können Sie inline ein Arbeitselement erstellen, einfache Inlinebearbeitungen vornehmen, ein Arbeitselement als abgeschlossen markieren und ein Arbeitselement ausstehenden Änderungen zuordnen.
  • Erstellen Sie einen lokalen Branch aus einem Arbeitselement, wodurch das Arbeitselement automatisch mit den an dem lokalen Branch vorgenommenen Änderungen verknüpft wird. Dies ist die Standarderfahrung. Sollten Sie zur früheren Funktionalität wechseln wollen, dann können Sie die Funktionalität für Arbeitselemente in Visual Studio entsprechend festlegen. Beachten Sie, dass diese neue Erfahrung nur für Git-Repositorys „true“ ist. Die neue Erfahrung für TFVC-Repositorys wird in einem der folgenden Updates verfügbar sein.

    Azure DevOps Work Item Hub
    *Azure DevOps-Arbeitselementehub*
  • Suchen nach Arbeitselementen, wenn Sie eine #Erwähnung in der Commit-Nachricht für ausstehende Änderungen vornehmen. Weitere Details finden Sie unter Arbeitselemente anzeigen und hinzufügen mithilfe der Seite „Arbeitselemente“.

    Azure DevOps #mentions
    *Azure DevOps #Erwähnungen*
  • Unterstützung für Microsoft Project wurde wegen der niedrigen Akzeptanzquote in Azure DevOps aus dem Team Foundation Server Office Integration 2019-Plug-In für Visual Studio 2019 entfernt. Sie müssen jetzt Ihre Arbeitselemente nach Excel exportieren und sie manuell in Project einfügen.

  • Unterstützung für PowerPoint wurde aus dem Team Foundation Server Office Integration 2019-Plug-In für Visual Studio 2019 entfernt. Benutzer können aber immer noch Storyboards in PowerPoint erstellen und sie manuell mit Arbeitselementen in Azure DevOps verknüpfen.

Application Insights und HockeyApp

  • Das Fenster mit Application Insights-Trends wurde in Visual Studio 2019 zugunsten von Alternativen mit erweitertem Funktionsumfang entfernt. Stattdessen können Sie das Fenster mit der Application Insights-Suche in Visual Studio oder den umfassenden Satz von Diagnosetools in Application Insights im Azure-Portal verwenden.
  • Die Assistenten zum Hinzufügen des HockeyApp SDK sowie zum Erstellen neuer Betadistributionen wurden entfernt. Stattdessen empfehlen wir die Verwendung von Visual Studio App Center, dem Nachfolger von HockeyApp. Sie können weiterhin HockeyApp ganz normal verwenden, mit Ausnahme dieser Tastenkombinationen in Visual Studio.

Release Notes IconIn Visual Studio 2019 RC behobene Probleme

zuletzt aktualisiert am 26 April 2019


Bekannte Probleme

Unter dem folgenden Link können Sie sich über alle vorhandenen bekannten Probleme und verfügbaren Problemumgehungen in Visual Studio 2019 Version 16.0 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