2022LogoVisual Studio 2022, Version 17.7: Versionshinweise


Tipp

Sehen Sie sich die Aufzeichnungen der Visual Studio 2022-Einführungsveranstaltung an, um mehr über die neuen Funktionen zu erfahren, Tipps und Tricks zu erhalten und kostenloses digitales Zubehör herunterzuladen.

Entwicklercommunity | Visual Studio2022-Roadmap | Systemvoraussetzungen | Kompatibilität | Verteilbarer Code | Releaseverlauf | Lizenzbedingungen | Blogs | Bekannte Probleme im aktuellen Release | Neuerungen in der Visual Studio-Dokumentation


Klicken Sie auf eine Schaltfläche, um die aktuelle Version von Visual Studio 2022 herunterzuladen. Anweisungen zum Installieren und Aktualisieren von Visual Studio 2022 finden Sie unter Aktualisieren von Visual Studio 2022 auf das aktuelle Release. Sehen Sie sich auch die Anweisungen zur Offlineinstallation an.

Download Community ButtonDownload Professional ButtonDownload Enterprise Button

Besuchen Sie die Visual Studio-Website, um andere Visual Studio 2022-Produkte herunterzuladen.


Releases von Visual Studio 2022, Version 17.7

Visual Studio 2022-Blog

Im Visual Studio 2022-Blog finden Sie alle wichtigen Informationen zu Produkten direkt vom Visual Studio-Engineeringteam. In den folgenden Beiträgen finden Sie ausführliche Informationen zu den Visual Studio 2022-Releases:


17.7.7 Visual Studio 2022, Version 17.7.7

Veröffentlichung am 14. November 2023

Zusammenfassung der Neuerungen in diesem Release von Visual Studio 2022, Version 17.7.7

Behandelte Sicherheitsempfehlungen

  • CVE-2023-36038Eine Sicherheitsanfälligkeit ist in ASP.NET IIS vorhanden, bei der ein nicht authentifizierter Remotebenutzer speziell gestaltete Anforderungen an eine .NET-Anwendung ausstellen kann, die zu einer Dienstverweigerung führen kann.
  • CVE-2023-36049Eine Sicherheitslücke zur Erhöhung von Berechtigungen ist in .NET vorhanden, wobei nicht vertrauenswürdige URIs, die system.Net.WebRequest.Create bereitgestellt werden, verwendet werden können, um beliebige Befehle in Back-End-FTP-Server einzulegen.
  • CVE-2023-36558Eine Sicherheitsfunktions-Umgehungslücke ist in ASP.NET vorhanden, in der ein nicht authentifizierter Benutzer die Überprüfung auf Blazor-Serverformularen umgehen kann, die unbeabsichtigte Aktionen auslösen können.
  • CVE-2023-36042Eine Sicherheitsanfälligkeit bezüglich Dienstverweigerung ist in Visual Studio vorhanden, in der ein falsch formatierter Name zu einer endlosen Schleife führen kann.

17.7.6 Visual Studio 2022, Version 17.7.6

veröffentlicht am 24. Oktober 2023

Zusammenfassung der Neuerungen in diesem Release von Visual Studio 2022 Version 17.7.6

  • Ein Fehler beim Öffnen von Datenbankprojekten in Gegenwart der Devart-Erweiterung wurde behoben.
  • Ein Absturz beim Hinzufügen eines neuen mit sqllite (und ähnlichen) verbundenen Diensts aus dem Kontextmenü des Projektmappen-Explorers wurde behoben.

Entwicklercommunity

Erneut veröffentlichte Sicherheitsempfehlungen

  • CVE-2023-36799Eine Sicherheitsanfälligkeit ist in .NET vorhanden, bei der das Lesen eines böswilligen X.509-Zertifikats zu „Denial of Service“ führen kann. Dieses Problem betrifft nur Linux-Systeme.
  • CVE-2023-36796Dieses Sicherheitsupdate behebt eine Sicherheitsanfälligkeit in „DiaSymReader.dll“ beim Lesen einer beschädigten PDB-Datei, die zu Remotecodeausführung führen kann.
  • CVE-2023-36794Dieses Sicherheitsupdate behebt eine Sicherheitsanfälligkeit in „DiaSymReader.dll“ beim Lesen einer beschädigten PDB-Datei, die zu Remotecodeausführung führen kann.
  • CVE-2023-36793Dieses Sicherheitsupdate behebt eine Sicherheitsanfälligkeit in „DiaSymReader.dll“ beim Lesen einer beschädigten PDB-Datei, die zu Remotecodeausführung führen kann.
  • CVE-2023-36792Dieses Sicherheitsupdate behebt eine Sicherheitsanfälligkeit in „DiaSymReader.dll“ beim Lesen einer beschädigten PDB-Datei, die zu Remotecodeausführung führen kann.

17.7.5 Visual Studio 2022, Version 17.7.5

Veröffentlichung: 10. Oktober 2023

Zusammenfassung der Neuerungen in diesem Release von Visual Studio 2022 Version 17.7.5

  • Dadurch wird ein Problem behoben, bei dem die Konfiguration, die in vorherigen Visual Studio-Sitzungen ausgewählt wurde, nicht wiederhergestellt wurde.
  • Der CMake-Cache wird nicht mehr automatisch generiert, wenn in den Einstellungen „Konfigurationsschritt nie automatisch ausführen“ ausgewählt wird.
  • C++-Modulfehler behoben und mehrere Moduldurchsatzverbesserungen hinzugefügt. Bei Verwendung von LTCG (/GL) konnte der Compiler in bestimmten seltenen Fällen nicht erkennen, dass eine globale Variable während der Programmausführung geändert werden könnte, und schließt daraus stattdessen fälschlicherweise, dass sie konstant ist und verteilt ihren Ausgangswert fälschlicherweise an Speicherorte, an denen die globale Variable verwendet wird.
  • Aktualisiert .NET 7 MAUI auf SR8. Behebt ein Problem, bei dem MAUI-Apps nicht mit Xcode 15 kompiliert werden können, wenn Linker deaktiviert wurde. Vollständige Versionshinweise finden Sie unter: https://github.com/xamarin/xamarin-macios/releases
  • Es wurden mehrere Probleme im Zusammenhang mit Display-DPI-Änderungen behoben, die zu einem Absturz oder Hängenbleiben führen konnten.
  • Es wurde ein Problem behoben, bei dem beim Öffnen eines Ordners ein Fehler im Zusammenhang mit „Prozesstelemetrie“ angezeigt wurde, wenn bestimmte Visual Studio-Workloads oder einzelne Komponenten nicht installiert sind.

Entwicklercommunity

Behandelte Sicherheitsempfehlungen

  • CVE-2023-36435In MsQuic.dll ist ein Sicherheitsrisiko für Arbeitsspeicherverlust aufgetreten, das zu Denial of Service führen kann. Dieses Problem betrifft nur Windows-Systeme.
  • CVE-2023-38171Ein Sicherheitsrisiko für NULL-Zeiger ist in „MsQuic.dll“ aufgetreten, was zu Denial of Service führen kann. Dieses Problem betrifft nur Windows-Systeme.
  • CVE-2023-44487Ein Sicherheitsrisiko ist auf dem ASP.NET Core Kestrel-Webserver vorhanden, auf dem ein böswilliger Client den Server mit speziell gestalteten HTTP/2-Anforderungen überlastet, was Denial of Service verursacht.

17.7.4 Visual Studio 2022, Version 17.7.4

veröffentlicht am 12. September 2023

Zusammenfassung der Neuerungen in diesem Release von Visual Studio 2022 Version 17.7.4

  • Aktualisierte Version von Git, die von Visual Studio auf v 2.41.0.3 verwendet wird.
  • Ein Absturz beim Anwenden von Änderungen mit Hot Reload auf einem dekompilierten Modul wurde behoben.
  • Stellt die Sicherheit des VS Installer Elevation Service durch Hinzufügen von Anführungszeichen zum Pfad sicher, wodurch Prozess-Hijacking entlang des Pfads verhindert wird.

Entwicklercommunity

Behandelte Sicherheitsempfehlungen

  • CVE-2023-36799Eine Sicherheitsanfälligkeit ist in .NET vorhanden, bei der das Lesen eines böswilligen X.509-Zertifikats zu „Denial of Service“ führen kann. Dieses Problem betrifft nur Linux-Systeme.
  • CVE-2023-36796Dieses Sicherheitsupdate behebt eine Sicherheitsanfälligkeit in „DiaSymReader.dll“ beim Lesen einer beschädigten PDB-Datei, die zu Remotecodeausführung führen kann.
  • CVE-2023-36794Dieses Sicherheitsupdate behebt eine Sicherheitsanfälligkeit in „DiaSymReader.dll“ beim Lesen einer beschädigten PDB-Datei, die zu Remotecodeausführung führen kann.
  • CVE-2023-36793Dieses Sicherheitsupdate behebt eine Sicherheitsanfälligkeit in „DiaSymReader.dll“ beim Lesen einer beschädigten PDB-Datei, die zu Remotecodeausführung führen kann.
  • CVE-2023-36792Dieses Sicherheitsupdate behebt eine Sicherheitsanfälligkeit in „DiaSymReader.dll“ beim Lesen einer beschädigten PDB-Datei, die zu Remotecodeausführung führen kann.
  • CVE-2023-36759Dieses Sicherheitsupdate entfernt „pgodriver.sys“, wobei das Lesen einer schädlichen Datei zu Rechteerweiterungen führen kann.
  • CVE-2023-36758Dieses Sicherheitsupdate behebt eine Sicherheitsanfälligkeit in „VSInstallerElevationService“ beim Ausführen einer schädlichen ausführbaren Datei, die zu Rechteerweiterungen führen kann.

17.7.3 Visual Studio 2022, Version 17.7.3

Veröffentlichung: 29. August 2023

Zusammenfassung der Neuerungen in diesem Release von Visual Studio 2022 Version 17.7.3

  • Unterstützung für Listensimulatoren und Geräte mit Xcode 15 hinzugefügt und die Abhängigkeit von NewsstandKit für feste Links entfernt.
  • Es wurde ein Problem behoben, durch das verhindert wurde, dass Visual Studio-Installer ausgeführt wird, wenn ein Symlink im Installationspfad vorhanden ist.
  • Das neue Feature „Bereinigung einschließen“ für C++, das in Version 17.7 hinzugefügt wurde, verursachte Abstürze bei Benutzern, sodass wir es für den Augenblick deaktiviert haben. Es besteht die Ansicht, dass das Feature in Version 17.8 erneut aktiviert wird.

Entwicklercommunity


17.7.2 Visual Studio 2022, Version 17.7.2

Veröffentlichung: 22. August 2023

Zusammenfassung der Neuerungen in diesem Release von Visual Studio 2022, Version 17.7.2

  • Bestimmte Endpunktsicherheits- und Anwendungssteuerungsprogramme führten zu Instabilität in Visual Studio. Dies wurde behoben.
  • Es wurden Abstürze behoben, die bei einigen Benutzer*innen der Option „WSL für mich installieren“ aufgetreten sind.
  • Bei Benutzer*innen, die einen Ordner mit einem CMake-Projekt geöffnet haben, ist Visual Studio möglicherweise für unbestimmte Zeit eingefroren. Die Racebedingung, die dieses Problem verursachte, wurde ermittelt und korrigiert.

Entwicklercommunity


17.7.1 Visual Studio 2022, Version 17.7.1

veröffentlicht: 15. August 2023

Zusammenfassung der Neuerungen in diesem Release von Visual Studio 2022 Version 17.7.1

Entwicklercommunity


17.7.0 Visual Studio 2022, Version 17.7

veröffentlicht: 8. August 2023

Zusammenfassung der Neuerungen in diesem Release von Visual Studio 2022 Version 17.7

Features zur Steigerung der Produktivität

Features Vorschläge aus der Community
Vergleichen von Dateien 🙏: 543 Stimmen
Kopieren und Kürzen des Einzugs 🙏: 86 Stimmen
Git-Graph mit mehreren Branches 🙏: 149 Stimmen
Erstellen neuer GitHub Actions-Instanzen
Filter für parallele Stapel
Reduzieren aller nachfolgenden Elemente für Projektmappen-Explorer 🙏: 7 Stimmen

Leistungsverbesserungen

Features Vorschläge aus der Community
F5-Geschwindigkeit
Reaktionsfähigkeit der All-In-One-Suche
Verbesserungen der Suche in Dateien 🙏: 122 Stimmen
Arbeitsspeicherverbrauch der C#-Rechtschreibprüfung
Zeit der Unreal Engine bis IntelliSense in C++
Reaktionsfähigkeit der Glühbirne
CPU-Auslastung beim Laden von Projektmappen

.NET-Entwicklung

Features Vorschläge aus der Community
Automatische Dekompilierung für externen .NET Code 🙏: 29 Stimmen
Neue automatische Erkenntnisse für das CPU-Auslastungstool

C++- und Spieleentwicklung

Features Vorschläge aus der Community
Unreal Engine-Makroformatierung für C++
Build-Erkenntnisse in Visual Studio (C++) 🙏: 141 Stimmen
Überprüfung der Unreal Engine-Namenskonvention für C++
Verbesserte Auflösung von Doxygen-Überladungen
Unreal Engine-Blaupause „Alle Verweise suchen“
continue_on_error-Unterstützung in Address Sanitizer
Include-Bereinigung

Linux- und eingebettete Entwicklung mit C++

Features Vorschläge aus der Community
Automatische WSL-Übernahme
Updates am Remotedatei-Explorer

[Weitere C++-Updates...]

Webentwicklung

Features Vorschläge aus der Community
npm-Abhängigkeitsverwaltung in ASP.NET-Projekten
Unterstützung von Vite für die Erstellung neuer Projekte in React und Vue
HTTP-Editor
Verbundene Power Platform-Dienste

F#

SSDT (SQL)

Features Vorschläge aus der Community
Unterstützung für serverlosen SQL-Pool in SSDT

Installation und Updates

Features Vorschläge aus der Community
Rollback behält jetzt alle Benutzereinstellungen bei

Verwaltung und Übernahme von Unternehmen

Features Vorschläge aus der Community
Möglichkeit für Standardbenutzer*innen zum Aktualisieren und Ändern von Visual Studio 🙏: 97 Stimmen

Microsoft 365-Entwicklung

Features Vorschläge aus der Community
Microsoft Teams-Entwicklungstools (Teams-Toolkit)

Weitere Vorschläge der Entwicklercommunity: Wir haben Ihr Feedback umgesetzt!


Features zur Steigerung der Produktivität:

Vergleichen von Dateien

Sie müssen Visual Studio nicht mehr verlassen, um andere Tools zum Vergleichen von Dateien zu nutzen. Jetzt können Sie jede Datei ganz einfach im Projektmappen-Explorer mit anderen Dateien vergleichen, indem Sie einen der folgenden Schritte ausführen:

  • Klicken Sie mit der rechten Maustaste auf eine einzelne Datei, und wählen Sie im Kontextmenü „Vergleichen mit“ aus. Der Datei-Explorer wird angezeigt. Navigieren Sie zu einer beliebigen Datei auf dem Datenträger, und wählen Sie sie für den Vergleich aus.
  • Wählen Sie zwei Dateien gleichzeitig aus, indem Sie die STRG-TASTE gedrückt halten. Klicken Sie dann mit der rechten Maustaste, und wählen Sie im Kontextmenü „Auswahl vergleichen“ aus.

Compare Selected in the Context Menu

Bitte teilen Sie uns hier Ihr Feedback mit. Wir freuen uns auf Ihre Erfahrungen mit dieser neuen Funktionalität.

Kopieren und Kürzen des Einzugs

Wenn Sie Code aus Visual Studio in ein anderes Programm (Outlook, Teams, Slack usw.) kopieren, korrigiert Visual Studio den Einzug jetzt automatisch für Sie.

Copy and Trim Indentation

Git-Graph mit mehreren Branches

Aufbauend auf der Arbeit in der Vorschau haben wir den Graphen mit mehreren Branches implementiert, um die Visualisierung mehrerer Branches in demselben Graphen zu ermöglichen. Zudem haben wir weitere Verbesserungen an der Benutzeroberfläche vorgenommen.

Multi-branch graph

Sie können andere Branches auswählen, um sie mit dem aktuell ausgecheckten Branch zu vergleichen, oder das Augensymbol zum Daraufzeigen verwenden, um Branches im Graphen ein- und auszuschalten. Mit den neuen Zusammenfassungssymbolen können Sie außerdem den Überblick über Ihre ein- und ausgehenden Branches im aktuell ausgecheckten Branch behalten. Darüber hinaus können Sie Avatare für die Ersteller*innen in Azure DevOps-Repositorys verwenden, flüssigere Aktualisierungen beim Rendern des Graphen erhalten und den verfügbaren Platz maximieren, indem Sie den Bereich „Branches“ reduzieren oder Ihre Commitdetails öffnen.

Git repo updates

Bitte teilen Sie uns hier Ihr Feedback zu diesem Feature mit.

Erstellen neuer GitHub Actions-Instanzen

Sie können jetzt neue GitHub-Aktionen-Workflows aus dem Projektmappen-Explorer erstellen. Es unterstützt Azure Container Apps und Azure Kubernetes Service als Ziele und unterstützt die Bereitstellung mehrerer Projekte mit einem einzigen Workflow. Wenn Ihr Projekt unter der Quellcodeverwaltung für GitHub.com steht, wird im Projektmappen-Explorer ein neuer Knoten angezeigt, der GitHub-Aktionen darstellt (wenn der neue Knoten nicht angezeigt wird, vergewissern Sie sich, dass „GitHub-Aktionen im Projektmappen-Explorer anzeigen“ unter „Extras > Optionen > Previewfunktionen“ aktiviert ist. Klicken Sie mit der rechten Maustaste, und wählen Sie „Neu erstellen“ aus, um die neue Oberfläche auszuprobieren.

Create new GitHub Actions workflow from Solution Explorer

Filter für parallele Stapel

Das parallele Stapelfenster unterstützt jetzt Filteroptionen. Mit der Filterung können Sie sich ganz einfach nur auf die Frames und Threads konzentrieren, die für Sie wichtig sind, sodass Sie mehr Klarheit erzielen und in kürzerer Zeit mehr erledigen können. Zusätzlich zum Filtern haben wir nun die Möglichkeit hinzugefügt, die Auswahlrahmen aus dem parallelen Stapelfenster zu ziehen. Jetzt können Sie also ganz einfach Vorgänge wie Kopieren/Einfügen, Flag/Entflag oder Freeze/Thaw für alle ausgewählten Frames gleichzeitig ausführen.

Parallel Stack Filter

Reduzieren aller nachfolgenden Elemente für Projektmappen-Explorer

  • Wenn Sie im Projektmappen-Explorer mit der rechten Maustaste auf einen Knoten klicken, können Sie nun den Befehl „Alle Unterknoten einklappen“ in das Kontextmenü einfügen. Sie können diese Funktion verwenden, um den ausgewählten Knoten und seine untergeordneten Knoten einzuklappen. Diese Funktion können Sie auch als Tastenkombination (Strg+Pfeil nach links) verwenden.

Leistungsverbesserungen:

F5-Geschwindigkeit

Wir wissen, dass die Leistung von Visual Studio für Sie von entscheidender Bedeutung ist. Aus diesem Grund haben wir die Dateien der Programmdatenbank (Program Database, PDB) optimiert, um Debugsitzungen zu verbessern und die Ladezeit des Projektauswahlbildschirms für Unreal-Projekte z. B. um 21 % (~4 Sek. Zugewinn) zu verringern. Darüber hinaus wurde der F5-Pfad optimiert, sodass Startzeit und Prozessstart des Debuggers um 5 bis 10 % verbessert werden konnten.

F5 Time

Reaktionsfähigkeit der All-In-One-Suche

Es werden mehrere Genauigkeits- und Leistungsverbesserungen für die All-in-One-Suche eingeführt. Beispielsweise werden genaue Übereinstimmungen in der Ergebnisliste jetzt an höherer Position angezeigt, und die Ergebnisse werden während der Abfrageeingabe in Echtzeit genauer aktualisiert.

All in One Search

Probieren Sie die All-In-One-Suchumgebung aus, indem Sie sicherstellen, dass sie in „Extras“ > „Vorschaufeatures verwalten“ > „Neue Visual Studio-Suchoberfläche (Neustart erforderlich)“ aktiviert ist, und verwenden Sie zum Starten die Tastenkombination STRG+T oder STRG+Q. Wenn Sie Feedback zu diesem Feature haben, teilen Sie es uns hier mit.

Zeit für die Suchfunktion „In Dateien suchen“

Die Suche in Dateien wurde durch verschiedene Optimierungen erheblich verbessert, sodass die Suchzeit um etwa 50 % reduziert werden konnte!

Find in files

Arbeitsspeicherverbrauch der C#-Rechtschreibprüfung

Das LSP (Language Server Protocol) für die C#-Rechtschreibprüfung wurde erheblich verbessert. Durch die Implementierung einer effizienteren Datenstruktur und die Aktivierung der Streamingunterstützung konnten wir den Speicherbedarf für den JSON-Code, der zwischen dem LSP-Server und dem LSP-Client übertragen wird, um ganze 90 % reduzieren. Diese Verbesserung führt zu schnellerer Leistung, erhöhter Effizienz und Skalierbarkeit für die Funktionalität der Rechtschreibprüfung.

Spell check

Zeit der Unreal Engine bis IntelliSense in C++

In Unreal Engine-Projekten wurde die Zeit, die für IntelliSense und die Farbgebung in neu geöffneten C++-Dateien erforderlich war, erheblich verringert. Die IntelliSense-Cachegenerierung (IPCH) ist jetzt in Unreal Engine 5.1- und 5.2-Projekten um 30 % und in Unreal Engine 4.27-Projekten um 15 % schneller.

UnReal Engine

Reaktionsfähigkeit der Glühbirne

Leistungsverbesserungen des Glühbirnenfeatures in Roslyn haben zu schnelleren Korrekturen für langsame Diagnose wie "Formatierung korrigieren" und "Typnamen vereinfachen" geführt. Genießen Sie sofortige Vorschläge und Korrekturen, auch in großen Dokumenten oder nach Bearbeitungen.

CPU-Auslastung beim Laden von Projektmappen

Das Laden umfangreicher Lösungen ist jetzt effizienter, da die CPU-Auslastung dank optimierter Hasherstellungsmethoden reduziert werden konnte. Diese Verbesserung ist besonders für Computer mit mehreren Kernen von Vorteil.


.NET-Entwicklung

Automatische Dekompilierung für externen .NET Code

Der Visual-Studio-Debugger unterstützt die Autodecompilation für externen .NET-Code. Wenn Sie einen Schritt in Code ausführen, der extern implementiert wurde, wird der Debugger automatisch dekompiliert und zeigt den Ausführungspunkt an.

Diese Funktion ist besonders hilfreich beim Analysieren von Aufrufstapeln, da Sie auf einen beliebigen Stapelframe doppelklicken können, und der Debugger navigiert direkt zum Code. Darüber hinaus können Sie den dekompilierten Code debuggen und Haltepunkte ganz einfach festlegen. Der gesamte dekompilierte Code wird auch unter dem Knoten „Externe Quellen“ im Projektmappen-Explorer angezeigt und erleichtert das Durchsuchen der externen Dateien bei Bedarf.

Wenn Sie die automatische Dekompilierung von externem Code deaktivieren möchten, deaktivieren Sie einfach die Option „Bei Bedarf automatisch auf Quelle dekompilieren (nur verwaltet)“ unter Tools > Optionen > Debugging.

Autodecompilation

Neue automatische Erkenntnisse für das CPU-Auslastungstool

Das CPU-Verwendungstool bietet jetzt zusätzliche Einblicke und Details für Szenarien mit bestimmten Methoden und Eigenschaften, z. B. Enum.HasFlag, Enum.ToString, String.StartsWith, String(char[]), ConcurrentDictionary.Count, ConcurrentDictionary.Keys/Values und DateTime.Now.

Darüber hinaus gibt es jetzt eine „Ask Copilot“-Option, welche die Copilot-Chaterweiterung verwendet. Wenn der Chat ausgelöst wird, erklärt Copilot Chat, warum das Problem aufgetreten ist, und schlägt eine Lösung vor.

CPU Usage


C++- und Spieleentwicklung

Unreal Engine-Makroformatierung für C++

Visual Studio erkennt und berücksichtigt Einzugs- und Formatierungsregeln für Ihre Unreal Engine-Reflexionsmakros. Suchen Sie zum Aktivieren der spezifischen Unreal Engine-Formatierung in den Optionen nach „Unreal Engine“, oder wechseln Sie zu „Tools“ > „Optionen“ > „Text-Editor“ > „C/C++“ > „Codestil“ > „Formatierung“ > „Unreal Engine“, und aktivieren Sie „Spezielle Formatierung für deklarative Slate-Syntax und Unreal Engine-Reflexionsmakros anwenden“.

Unreal Engine macro formatting

Build-Erkenntnisse in Visual Studio (C++)

Dank Ihres Feedbacksfreuen wir uns, ihnen mitzuteilen, dass Build Insights jetzt in Visual Studio 2022 integriert ist! Build Insights bietet Ihnen wertvolle Informationen, die sie bei der Optimierung Ihrer C++-Buildzeiten benötigen. Starten Sie ihre Build Insights .etl-Ablaufverfolgungserfassung mit dem Klicken auf eine Schaltfläche für Ihre Lösung oder Projekte. Nach der Kompilierung erstellt Build Insights einen Diagnosebericht, mit dem Sie teure Ein- und Navigationsvorgänge direkt zu Headerdateien anzeigen können. Für Power-Benutzer: Sie können die Windows-Leistungsanalyse im Bericht öffnen.

Build Insights

Überprüfung der Unreal Engine-Namenskonvention für C++

Mit der Überprüfung der Namenskonvention für die Unreal Engine gibt Visual Studio jetzt Hinweise, wenn Ihre Symbole nicht dem Unreal Engine-Codierungsstil entsprechen. Nachdem Sie Ihrem Unreal Engine-Projekt eine EDITORCONFIG-Datei hinzugefügt haben, zeigt Visual Studio in der Fehlerliste Warnungen zur Namenskonvention an und stellt beim Klicken mit der rechten Maustaste eine Option für eine schnelle Problembehebung bereit.

Unreal Engine Naming Convention checker

Verbesserte Auflösung von Doxygen-Überladungen

Wenn eine bestimmte Funktion einen Doxygen-Kommentar hatte, wurde sie in den QuickInfos für jede Überladung nicht angezeigt, mit Ausnahme der Funktion, die unmittelbar auf den Kommentar folgt. Wir ermöglichen nun, dass die Dokumentation von einer anderen Überladung in der Schnellinfo für alle zugeordneten Überladungen angezeigt wird.

Doxygen Improvements

Unreal Engine-Blaupause „Alle Verweise suchen“

Sie können jetzt in Unreal Engine-Blaupausen mit der neuen Blaupause „Alle Verweise finden“ nach Verweisen von UFUNCTION suchen. Klicken Sie zunächst mit der rechten Maustaste auf ein Symbol mit Blaupausenverweisen. Klicken Sie dann auf „Alle Blaupausenverweise suchen“, um die Suche zu starten. Die neueste Version des Unreal Engine-Plug-Ins Visual Studio Integration Tool ist erforderlich.

UE Find All References

continue_on_error-Unterstützung in Address Sanitizer

Wir haben unsere Adressbereinigungsfunktion um einen neuen continue_on_error-Modus erweitert. Dieser neue Laufzeitmodus diagnostiziert und meldet versteckte Speichersicherheitsfehler ohne Fehlalarme, während Ihre Anwendung läuft. Ausgabe nach stdout mit festgelegtem ASAN_OPTIONS=continue_on_error=1 oder nach stderr mit set ASAN_OPTIONS=continue_on_error=2. Weitere Informationen finden Sie unter AddressSanitizer continue_on_error.

Asan Continue on Error

Include-Bereinigung

Neues Feature „Include-Bereinigung“ hinzugefügt. Diese Funktion bietet Vorschläge zum Hinzufügen direkter Includes, wenn indirekte Includes entdeckt werden, und identifiziert alle nicht verwendeten Includes. Dieses Feature ist standardmäßig deaktiviert. Navigieren Sie zum Aktivieren zu Extras > Optionen > Text-Editor > C/C++ > IntelliSense und wählen Sie „#include-Bereinigung aktivieren“ aus. Weitere Informationen zu diesem Feature finden Sie im Blogbeitrag „Include-Bereinigung“.

Include Cleanup


Linux- und eingebettete Entwicklung mit C++

Automatische WSL-Übernahme

One-Click-Downloads von WSL sind jetzt mit der Linux- und Embedded-Workload verfügbar. Wenn Sie ein CMake-Projekt öffnen, das auf Linux abzielen kann, wird ein Goldbalken geöffnet, auf das Sie klicken und einen WSL-Installationsprozess öffnen können. Standardmäßig wird ein Ubuntu-Computer installiert. Darüber hinaus können Sie das Dialogfeld jederzeit öffnen, indem Sie „Projekt“ > „WSL für mich installieren“ aufrufen.

One-click Install WSL

Updates am Remotedatei-Explorer

Wir haben dem Remotedatei-Explorer eine Suchfunktion hinzugefügt. Sie können nun auf der oberen Leiste des Remotecomputers nach Dateien suchen und dann mit der rechten Maustaste klicken, um zum Speicherort der gefundenen Datei zu wechseln. Darüber hinaus haben wir der Symbolleiste zwei neue Schaltflächen hinzugefügt, um die Remotedatei-Explorer-Erfahrung zu verbessern, eine, um zum Startverzeichnis zu wechseln und eine, um Toolsoptionen zu öffnen.

Remote File Explorer


Weitere C++-Updates

  • Unterstützung der Version 6 von „CMakePresets.json“ wurde hinzugefügt. Weitere Informationen dazu, was in dieser Version verfügbar ist, finden Sie in der Dokumentation zu CMake.
  • Für die Version von LLVM, die mit Visual Studio ausgeliefert wird, wurde ein Upgrade auf die Version 16 durchgeführt. Informationen zu den in dieser Version verfügbaren Optionen finden Sie in den Versionshinweisen zu LLVM und Clang.
  • Es wurden neue systeminterne Funktionen für die Überlauferkennung hinzugefügt (beispielsweise _add_overflow_i32).
  • Die Verbindungs-Manager-API wird jetzt öffentlich verfügbar gemacht, um Ihre Verbindungen programmgesteuert zu verwalten.
  • Wir haben das von ASan verwendete Verknüpfungsmodell geändert. Jetzt verfügt nicht mehr jede Laufzeitbibliothekseinstellung (/MD, /MT, /MDd, /MTd) über eine eigene Methode zur Bereitstellung der ASan-Runtime. Stattdessen basieren all diese Einstellungen jetzt auf einer einzigen DLL: clang_rt.asan_dynamic-<arch>.dll. Programme, die anders mit der C-Runtime verknüpfte Binärdateien laden, können somit ohne Kompatibilitätsprobleme unter ASan ausgeführt werden, und es ist für die Ausführung von /MT(d)-DLLs nicht mehr erforderlich, die Host-EXE mit ASan zu erstellen. Dies bedeutet, dass /MT(d)-Binärdateien jetzt auch davon abhängig sind, dass die Datei clang_rt.asan_dyanmic-<arch>.dll im Pfad für dieses Programm vorhanden ist. Testumgebungen müssen daher aktualisiert werden.
  • Sie können jetzt die Option „Erweiterung visualisieren“ für Makros verwenden, um die Erweiterung geschachtelter Makros Schritt für Schritt anzuzeigen.

Macro Visualization


Webentwicklung:

npm-Abhängigkeitsverwaltung in ASP.NET-Projekten

In Ihren ASP.NET-Projekten, die npm-Pakete nutzen, zeigt Visual Studio nun diese Pakete aus Ihrer Datei „package.json“ im Knoten „Abhängigkeiten“ im Projektmappen-Explorer an. Dadurch erhalten Sie jetzt eine klare Übersicht über alle Ihre Lösungsabhängigkeiten für .NET mit Verweisen, NuGet-Paketen und npm-Paketen. Sie können neue Pakete hinzufügen oder alle Pakete wiederherstellen (npm install), indem Sie mit der rechten Maustaste auf den npm-Knoten klicken.

npm node

Sie können über die Benutzeroberfläche das Paket suchen und auswählen, das Sie hinzufügen möchten.

npm UI

Sie können ein bestimmtes Paket aktualisieren oder deinstallieren, indem Sie mit der rechten Maustaste darauf klicken.

npm package

Unterstützung von Vite für die Erstellung von neuen Projekten in React und Vue

Bei der Ankündigung der kombinierten JavaScript/TypeScript- und .NET-Projektvorlagen in Visual Studio haben wir von der Community das Feedback erhalten, dass sowohl create-react-app als auch die Vue-CLI nicht mehr die bevorzugten Methoden zum Erstellen von neuen Anwendungen sind. Wir verwenden nun Vite zur Erstellung neuer Projekte in React und Vue für unsere JavaScript- und TypeScript-Projektvorlagen in Visual Studio. Vite bietet auch Vorteile für die Erstellung und Ausführung von Projekten. Beispielsweise werden Server schneller gestartet und aktualisiert.

Diese Änderung sorgt auch für eine Leistungssteigerung beim Ablauf, sodass Projekte dieser Art wesentlich schneller erstellt werden können. Außerdem wird ein Problem behoben, das bei der Erstellung auftrat, wenn die erforderlichen Abhängigkeiten nicht auf dem lokalen Computer installiert waren.

Updated Vite project templates

HTTP-Editor

  • Der HTTP-Editor wurde aktualisiert, einschließlich einer neuen Antwortansicht. Die neue Antwortansicht bietet Unterstützung für JSON-Hervorhebungen sowie die Möglichkeit, die Rohantwort, die Kopfzeilen der Anforderung und die Anforderung, wie sie an den Webserver gesendet wurde, anzuzeigen.
  • Die grüne Play-Taste zum Senden der Anforderung wurde durch Code-Objektiv-Aktionen ersetzt.

Verknüpfte Power Platform-Dienste


F#

  • Es wurden Inlinehinweise zum Rückgabetyp hinzugefügt:

F# return type hints

Da sie sich in der Vorschauphase befinden, sind sie standardmäßig deaktiviert. Sie können aber unter Extras > Optionen > Text-Editor > F# > Erweitert > Hinweise zum Rückgabetyp anzeigen aktiviert werden.

  • Es wurden neue Massencodefixes hinzugefügt:

F# bulk fixes

Die vollständige Liste dieser Codefixes finden Sie unter #15082.

  • Ein Problem mit dem Absturz von Parameternamenhinweisen wurde behoben, das bei Verwendung mehrzeiliger Argumente auftrat.
  • Eine Option zum Anpassen der QuickInfo-Beschreibungsbreite wurde hinzugefügt: Extras > Optionen > Text-Editor > F# > QuickInfo > Bevorzugte Beschreibungsbreite in Zeichen. Ausführlichere Informationen finden Sie unter #14964.
  • Das Aktivitätsprotokoll wurde in den Ausgabebereich integriert. (Weitere Informationen finden Sie unter #15028.)
  • Massencodefix zum Entfernen nicht verwendeter Öffnungsvorgänge behoben
  • Verbesserte Geschwindigkeit der QuickInfo-Linknavigation
  • Unterstützung für die neue interpolierte Zeichenfolgensyntax mit mehreren Dollarzeichen (Details und RFC):

string interpolation support

  • QuickInfos für Inlinehinweise eingeführt:

A – Typhinweise:

type hint tooltips

B – Hinweise zu Parameternamen:

parameter name hint tooltips

  • Feste Parameternamenhinweise für geschachtelte Funktionsaufrufe (#15156) und benutzerdefinierte Vorgänge (#15119)
  • Hinweise für feste Rückgabetypen für Fälle, in denen Anmerkungen zusammen mit generischen oder Typparametern vorhanden sind (#15124)

SSDT (SQL)

Unterstützung für serverlosen SQL-Pool in SSDT

Wir bieten die Möglichkeit, eine Datenbank aus Serverless SQL Pool in SSDT zu importieren. Dies kann durch denselben Prozess erfolgen, mit dem eine normale Datenbank importiert wird.

Import Database 1Import Database 2

Benutzer können auch ein ganz neues Projekt im Serverless SQL Pool veröffentlichen. Die Zielplattform muss als SQL Serverless festgelegt werden

Database Settings

Regelmäßige SSDT-Vorgänge wie Schemavergleich, Datenvergleich, Hinzufügen externer Tabellen können für diese Tabellen ausgeführt werden.

  • Ein Problem bei der Veröffentlichung mit Azure Interactive Dir in einem Azure Debugger wurde behoben.
  • Die Nomenklatur von SQL Serverless in der Zielplattform wurde in Azure Synapse Analytics Serverless SQL Pool geändert.

Installation und Updates

Rollback

Visual Studio unterstützt die Möglichkeit, zu Ihrer zuvor installierten Version zurückzukehren. Beim Rollback wird Visual Studio auf die Version zurückgesetzt, die vor dem letzten Update installiert war. Alle Änderungen an ausgewählten Komponenten, die seit dem letzten Update vorgenommen wurden, bleiben jedoch erhalten. Ihre gemeinsamen synchronisierten Einstellungen wie Themen, Schriftarten, Tastaturbelegungen und das Fensterlayout werden wiederhergestellt. Auch Ihre Roamingeinstellungen werden immer wiederhergestellt. Eine neue Ergänzung dieser Funktion ist, dass Ihre lokalen Anpassungen, wie z. B. Ihre Benutzereinstellungen, nur dann wiederhergestellt werden, wenn Sie auf Version 17.7 Preview 3 oder höher zurückgehen. Weitere Informationen finden Sie im Blogbeitrag zum Thema „Rollback“.


Verwaltung und Übernahme von Unternehmen

Möglichkeit für Standardbenutzer*innen zum Aktualisieren und Ändern von Visual Studio

Diese Version enthält ein neues Feature, das Unternehmen dabei hilft, bewährte Methoden für die Sicherheit einzuhalten, während es gleichzeitig ihren Entwicklern ermöglicht, ihre Entwicklungsumgebung zu aktualisieren und zu ändern. Administratoren können nun die Installationsprogrammfunktion an Standardbenutzer delegieren. Wenn ein Administrator also den bewährten Methoden für Sicherheit folgt und Benutzerberechtigungen einschränkt, kann der Administrator jetzt Standardbenutzern Zugriff auf die Installationsprogrammfunktion gewähren, sodass Entwickler das Produkt aktualisieren und ändern können.

Um diese Konfiguration zu aktivieren, müssen Administrator*innen zwei einfache Schritte auf dem Clientcomputer ausführen: das neueste 17.7-Installationsprogramm installieren und die neue globale Richtlinie festlegen.

  • Sie können das neueste Installationsprogramm auf dem Clientcomputer erhalten, indem Sie das Produkt aktualisieren.
  • Legen Sie die globale Richtlinie REG_DWORD „AllowStandardUserControl“ fest.
    • Ein Wert von 1 ermöglicht nur das Aktualisieren und Rollback.
    • Der Wert 2 ermöglicht alle Installationsmöglichkeiten, einschließlich Ändern und Installieren auf der Registerkarte „Verfügbar“.

Diese Funktionalität gilt für alle Versionen von Visual Studio 2017 und höher.

Viele Unternehmensbenutzer*innen haben diese Funktion angefordert, und wir hoffen, dass unsere Lösung Ihren Anforderungen entspricht. Probieren Sie sie aus, und teilen Sie uns Ihre Meinung mit.


Microsoft 365-Entwicklung

Microsoft Teams-Entwicklungstools (Teams-Toolkit)

Wir haben die Vorschaufeatures im 17.6 Preview-Kanal vollständig getestet und liefern die Vorschaufeatures jetzt offiziell in der GA-Version 17.7. Diese umfasst folgende Features:

  • Das Teams-Toolkit aktualisiert die Projektstruktur der Teams-App-Vorlagen, um sie für Entwickler transparenter und flexibler zu gestalten.
  • Im neuen Projekt führen wir eine neue Konfigurationsdatei teamsapp.yml ein, in der Benutzer*innen sehen können, welche Aktionen das Teams-Toolkit hinter den Kulissen ausführt, wenn Lebenszyklusbefehle wie Debuggen oder Bereitstellen ausgelöst werden. Benutzer*innen können die vom Teams-Toolkit durchgeführten Aktionen übersichtlich nachverfolgen und die Aktionen anpassen, indem Sie die YML-Datei bearbeiten und das Verhalten des Teams-Toolkits ändern.
  • Jetzt können Sie die native Dev-Tunnelfunktion in VS verwenden, um einen Tunneldienst für die Teams-App zu erstellen. NgRok ist nicht mehr die einzige Möglichkeit zum Erstellen von Tunneln für Teams-Projekte.
  • Updates am .NET SDK für TeamsFx
    • Unterstützung zum Abrufen einer paginierten Liste von Zielen, in denen der Bot im Benachrichtigungs-Bot installiert ist.
    • Unterstützung für das Abrufen einer paginierten Liste von Mitgliedern einer 1:1-, Gruppen- oder Teamunterhaltung im Benachrichtigungs-Bot.
  • In dieser Version wird eine vereinfachte Teams Tab-App-Vorlage bereitgestellt.
  • Verschiedene Fehlerkorrekturen und Verbesserungen der Benutzeroberfläche für eine höhere Benutzerfreundlichkeit des Teams-Toolkits.