Versionshinweise: Visual Studio 2022, Version 17.1
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
Visual Studio 2022, Version 17.1
Supportzeitrahmen
Für diese Version wird jetzt kein Support mehr geleistet. Weitere Informationen zu den unterstützten Visual Studio-Baselines finden Sie in der Supportrichtlinie für Visual Studio 2022.
Lesen Sie die neueste Version der Versionshinweise, oder besuchen Sie die Visual Studio-Website, um die neueste Version von Visual Studio 2022 herunterzuladen.
Releases von Visual Studio 2022, Version 17.1
- 10. Mai 2022: Visual Studio 2022, Version 17.1.7
- 26. April 2022: Visual Studio 2022, Version 17.1.6
- 19. April 2022 Visual Studio 2022, Version 17.1.5
- 12. April 2022: Visual Studio 2022, Version 17.1.4
- 31. März 2022: Visual Studio 2022, Version 17.1.3
- 22. März 2022: Visual Studio 2022, Version 17.1.2
- 8. März 2022: Visual Studio 2022, Version 17.1.1
- 15. Februar 2022: Visual Studio 2022, Version 17.1.0
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:
- Visual Studio 2022 17.1 ist ab heute verfügbar.
- Visual Studio 2022, Version 17.0 ab heute verfügbar!
Archivierte Versionsanmerkungen von Visual Studio 2022
Visual Studio 2022, Version 17.1.7
Veröffentlicht: 10. Mai 2022
In Release 17.1.7 behobene Probleme
- Die webview2-Baseline in Daytona wurde aktualisiert.
Aus der Entwicklercommunity
Sicherheitshinweis
CVE-2022-29117 .NET Denial of Service Vulnerability Ein Sicherheitsrisiko ist in .NET 6.0, .NET 5.0 und .NET Core 3.1 vorhanden, bei dem ein böswilliger Client Cookies bearbeiten und einen Denial of Service verursachen kann.
CVE-2022-23267 .NET Core Denial of Service Vulnerability Eine Sicherheitsanfälligkeit ist in .NET 6.0, .NET 5.0 und .NET Core 3.1 vorhanden, bei der ein böswilliger Client einen Denial of Service über übermäßige Speicherzuweisungen über HttpClient verursachen kann.
CVE-2022-29145 .NET Denial of Service Vulnerability Ein Sicherheitsrisiko ist in .NET 6.0, .NET 5.0 und .NET Core 3.1 vorhanden, bei dem ein böswilliger Client einen Denial of Service verursachen kann, wenn HTML-Formulare geparsed werden.
CVE-2022-24513 Sicherheitsrisiko durch Rechteerweiterungen Es besteht ein potenzielles Sicherheitsrisiko durch Rechteerweiterungen, wenn der Updater-Dienst für Microsoft Visual Studio lokale Konfigurationsdaten nicht ordnungsgemäß analysiert.
Visual Studio 2022, Version 17.1.6
Veröffentlicht am 26. April 2022
In Release 17.1.6 behobene Probleme
- Behoben: C++-Compiler (CL.exe) stürzt manchmal ab, wenn Enumerationsüberprüfungen der Codeanalyse bitweise ausgeführt werden.
- Behoben: iPhone-Simulator – schwerwiegender Fehler: Die Datei "System.Memory" konnte nicht geladen werden.
- Behoben: vctip.exe-Regression in VisualCPP SxS aus 17.0.8
- Ein Fehler in VisualCPP SxS wurde behoben, durch den einige Anwendungen, die mit Address Sanitizer (ASAN) erstellt wurden, in Windows 11 nicht geladen werden konnten.
- Ein weiteres ASAN-Problem wurde behoben, durch das bei Multithreadanwendungen mit Heapkonflikten möglicherweise Deadlocks, falsche Berichte zu freigegebenen wilden Zeigern oder ein Deadlock während der Prozessbeendigung auftreten können.
Aus der Entwicklercommunity
In der Entwicklercommunity steht eine vollständige Liste der in Version 17.1 verfügbaren Fehlerkorrekturen bereit.
Visual Studio 2022, Version 17.1.5
Veröffentlicht am 19. April 2022
In Release 17.1.5 behobene Probleme
- Behoben: vctip.exe-Regression aus 17.1.4
- Das Problem, dass keine Erweiterung (vsix) für Visual Studio auf einem Offlinecomputer installiert werden kann, wurde behoben.
Aus der Entwicklercommunity
In der Entwicklercommunity steht eine vollständige Liste der in Version 17.1 verfügbaren Fehlerkorrekturen bereit.
- Launch-VsDevShell funktioniert im Strict-Modus nicht mehr
- Fehler bei WebSocket-Verbindung mit „wss://...“. ASP.NET Core-Webanwendung. Nach Update 17.1
Visual Studio 2022, Version 17.1.4
Veröffentlichung: 12. April 2022
Hinweis
Aufgrund des Updates der Git-Version in Visual Studio zum Beheben des Sicherheitsrisikos CVE-2022-24765 tritt bei einigen Git-Benutzern möglicherweise ein Fehler auf, verhindert, dass Git-Repositorys in Visual Studio angezeigt werden.
Benutzer, die ein Repository als Administratorbenutzer geklont oder erstellt haben und dann versucht haben, es als Nicht-Administratorbenutzer anzuzeigen oder zu nutzen, sind möglicherweise von diesem Problem betroffen. Wenn dieses Problem bei Ihnen auftritt und Sie dem Repository vertrauen, das Sie versuchen zu öffnen, können Sie es der Liste sicherer Verzeichnisse hinzufügen, indem Sie den folgenden Befehl an einer Eingabeaufforderung, in PowerShell oder an einem Terminal mit Zugriff auf Git für Windows ausführen:
git config --global --add safe.directory <path-to-repository>
Alle Informationen sowie Updates zum Problem finden Sie in der Entwicklercommunity.
In Release 17.1.4 behobene Probleme
- Ein Problem wurde behoben, bei dem Aufrufe von „new“ (neu) in Vorlagen nicht die richtige Funktion „operator new“ durch argumentabhängige Nachschlagevorgänge gefunden haben.
- Ein Problem in der Entwurfszeit-Typauflösung für Windows Forms .NET Framework-Designer wurde behoben, das andernfalls dazu führte, dass das Laden des Designers fehlschlug.
- Behebt „Unerwarteter Fehler der Aufgabe ‚HotRestart.Tasks.DetectSigningIdentity‘“.
- Installer-Befehlszeile wurde hinzugefügt, um einen nicht verwendeten Kanal zu entfernen.
Bekannte Probleme
- Die Synchronisierung von Apple Developer-Kontozertifikaten und -Bereitstellungsprofilen wird nicht unterstützt, außer für Konten, die für betriebsinterne Bereitstellungen verwendet werden sollen. Um dieses Problem zu umgehen, laden Sie Zertifikate und Bereitstellungsprofile direkt von der Apple Developer-Kontowebsite herunter.
Aus der Entwicklercommunity
Sicherheitshinweis
CVE-2021-43877 Sicherheitsrisiko durch Rechteerweiterung in ASP.NET Core und Visual Studio: Im ASP.NET Core-Modul (ANCM) liegt ein Sicherheitsrisiko durch Rechteerweiterung vor, das eine Rechteerweiterung zulassen könnte, wenn .NET Core-, .NET 5- und .NET 6-Anwendungen in ISS gehostet werden.
CVE-2022-24765 Sicherheitsrisiko durch Rechteerweiterungen Es besteht ein potenzielles Sicherheitsrisiko durch Rechteerweiterungen in Git für Windows, durch die Git-Vorgänge außerhalb eines Repositorys ausgeführt werden können, während ein Git-Verzeichnis gesucht wird. Git für Windows wurde jetzt auf Version 2.35.2.1 aktualisiert.
CVE-2022-24767 Sicherheitsrisiko durch DLL-Hijacking Bei der Ausführung des Deinstallationsprogramms unter dem SYSTEM-Benutzerkonto besteht ein potenzielles Sicherheitsrisiko durch DLL-Hijacking in Git für Windows. Git für Windows wurde jetzt auf Version 2.35.2.1 aktualisiert.
CVE-2022-24513 Sicherheitsrisiko durch Rechteerweiterungen Es besteht ein potenzielles Sicherheitsrisiko durch Rechteerweiterungen, wenn der Updater-Dienst für Microsoft Visual Studio lokale Konfigurationsdaten nicht ordnungsgemäß analysiert.
Visual Studio 2022, Version 17.1.3
Veröffentlichung: 31. März 2022
In Release 17.1.3 behobene Probleme
- Unterstützung für Apple Xcode 13.3 wurde eingeführt.
- Behebt den Fehler des iOS-IPA-Generators (ERROR ITMS-90207) mit Xcode 13.3.
- Behebt den Fehler beim Synchronisieren des <E-Mail>-Kontos mit dem Apple-Entwicklerportal
- Behebt das Problem, bei dem Visual Studio sich beim Verwenden von TFVC für einen längeren Zeitraum (über eine Stunde) aufhängt/einfriert.
- Behebt die Fehlermeldung „Eine inkompatible SQL Server-Version wurde erkannt.“ beim Herstellen einer Verbindung mit Azure SQL Managed Instance von Visual Studio SQL Server-Datentools aus.
Bekannte Probleme
- Die Bereitstellung einer iOS-App mit Visual Studion 2022 und Apple Xcode 13.3 führt zu einem iOS-Remotesimulatorfenster mit einem leeren/schwarzen Bildschirm. Problemumgehung: Deaktivieren Sie das Kontrollkästchen „Remotesimulator zu Windows“ in den iOS-Einstellungen im Menü „Extras – Optionen“. Die iOS-App sollte ordnungsgemäß auf dem macOS-Host bereitgestellt werden.
Aus der Entwicklercommunity
In der Entwicklercommunity steht eine vollständige Liste der in Version 17.1 verfügbaren Fehlerkorrekturen bereit.
Visual Studio 2022, Version 17.1.2
Veröffentlichung: 22. März 2022
In Release 17.1.2 behobene Probleme
- Ein Problem wurde behoben, das dazu führen konnte, dass einige Animationen zur Testausführung im Hintergrund ausgeführt wurden, auch wenn die zugehörigen Testausführungen abgeschlossen waren. Dies führte zu Verlangsamungen, die besonders bei Monitoren mit hohen Aktualisierungsraten spürbar waren. Der Fix sollte die Erfahrung der Verwendung von VS auf Monitoren mit hohen Aktualisierungsraten verbessern.
- Deaktivieren Sie das automatische Öffnen des Fensters „Stapelüberwachungs-Explorer“ beim Öffnen von Visual Studio. Dies kann weiterhin in den Optionen aktiviert werden.
- Eine Regression wurde behoben, bei der das Andocken von Dokumentregisterkarten mittels Ziehen nur mit dem Dock-Adorner und nicht mit anderen Dokumentregisterkarten funktioniert hat.
- Ein Problem mit sporadischem Aufhängen des Linkers wurde behoben.
Aus der Entwicklercommunity
In der Entwicklercommunity steht eine vollständige Liste der in Version 17.1 verfügbaren Fehlerkorrekturen bereit.
- Sprachausgaben können nicht auf Windows Forms 5 Designer-Vorschau zugreifen
- Ich kann die Minimierung von Visual Studio nicht aufheben.
- TFS-Fehler: TF30063: Sie sind nicht autorisiert.
- Dokumentregisterkarten können nicht mehr an eine bestimmte Position in einer Dokument-Registerkartenleiste gezogen und abgelegt werden.
Visual Studio 2022, Version 17.1.1
Veröffentlichung: 8. März 2022
In Release 17.1.1 behobene Probleme
Aus der Entwicklercommunity
In der Entwicklercommunity steht eine vollständige Liste der in Version 17.1 verfügbaren Fehlerkorrekturen bereit.
- CMake->vcxproj-Regression in 17.1.0 bei Verwendung von CONFIG im benutzerdefinierten Befehl
- VSSDK: VS 17.1.0 Preview 5.0 hängt nach IVsObjectManager.UnregisterLibMgr()
Sicherheitshinweis
CVE-2020-8927 Sicherheitsanfälligkeit Eine Sicherheitslücke zur Remotecodeausführung ist in .NET 5.0 und .NET Core 3.1 vorhanden, bei der ein Pufferüberlauf in den Brotli-Bibliotheksversionen vor 1.0.8 vorhanden ist.
CVE-2022-24464 Sicherheitsanfälligkeit Bei der Analyse bestimmter Arten von HTTP-Formularanforderungen ist eine Denial of Service-Sicherheitsanfälligkeit in .NET 6.0, .NET 5.0 und .NET CORE 3.1 vorhanden.
CVE-2022-24512 Sicherheitsrisiko Bei Auftreten eines Stapelpufferüberlaufs in einer .NET Double Parse-Routine ist eine Sicherheitsanfälligkeit durch Remotecodeausführung in .NET 6.0, .NET 5.0 und .NET CORE 3.1 vorhanden.
CVE-2021-3711 OpenSSL-Pufferüberlaufrisiko Ein potenzieller Pufferüberlaufrisiko ist in OpenSSL vorhanden, das von Git für Windows genutzt wird. Git für Windows ist jetzt auf Version 2.35.1.2 aktualisiert, was dieses Problem behebt.
Visual Studio 2022, Version 17.1.0
Veröffentlichung: 15. Februar 2022
Zusammenfassung der Neuerungen in diesem Release von Visual Studio 2022, Version 17.1.0
C++
- Eine neue Vorlage zum Konfigurieren der Voreinstellungen wurde hinzugefügt, um CMake-Projekte auf einem macOS-Remotesystem mit CMakePresets.json zu konfigurieren und zu erstellen. Sie können CMake-Ziele auch auf einem macOS-Remotesystem starten und mit dem Front-End des Visual Studio-Debuggers debuggen, der von GDB oder LLDB unterstützt wird.
- Sie können jetzt Kernspeicherabbilder auf einem macOS-Remotesystem über Visual Studio mit LLDB oder GDB debuggen.
- Die mit Visual Studio ausgelieferten Versionen von Clang und LLVM wurden auf v13 aktualisiert.
- Die CMake-Integration von Visual Studio wird nur aktiviert, wenn im Stammverzeichnis des geöffneten Arbeitsbereichs eine „CMakeLists.txt“-Datei gefunden wird. Wenn eine „CMakeLists.txt“-Datei auf einer anderen Ebene des Arbeitsbereichs identifiziert wird, werden Sie durch eine Benachrichtigung aufgefordert, die CMake-Integration von Visual Studio zu aktivieren.
- Ein neues Fenster für die Registervisualisierung für eingebettete Ziele wurde hinzugefügt, das über „Debuggen > Fenster > Eingebettete Register“ verfügbar ist.
- Eine neue Threadansicht für RTOS-Projekte wurde hinzugefügt, die über „Debuggen > Fenster > RTOS-Objekte“ verfügbar ist.
Debuggen und Diagnose
- Ein neues Feature namens StickyDataTips wurde hinzugefügt, d. h., Sie können Ihre Datentipps jetzt erweitert lassen, bis Sie sie wegklicken. So können Sie Ihre Objekte einfach mit Datentipps bewerten. Um dieses Feature zu aktivieren, aktivieren Sie das Kontrollkästchen „Keep expanded data tips open until clicked away“ (Erweiterte Datentipps bis zum Wegklicken geöffnet lassen) unter „Extras > Optionen > Debuggen > Allgemein“.
- Hinzugefügt: Unterstützung für „An Prozess anhängen“ für Microsoft Azure App Service
Editor
- Die Codebereinigungsfunktion kann jetzt so konfiguriert werden, dass sie immer dann ausgeführt wird, wenn eine Datei explizit gespeichert wird. Über „Extras > Optionen“ unter „Text-Editor > Codebereinigung“ können Benutzer*innen mit einer neuen Option die Codebereinigung beim expliziten Speichern aktivieren sowie das auszuführende Profil auswählen. Beachten Sie, dass diese Option nicht dazu führt, dass die Codebereinigung beim automatischen Speichern ausgeführt wird.
Git-Tools
- Eine Funktion zum Vergleichen von Branches in Visual Studio wurde hinzugefügt.
- Verbesserungen am getrennten Headerstatus wurden eingeführt, einschließlich der Möglichkeit zum Auschecken von Commits.
- Es wurden Verbesserungen an Branches mit mehreren Repositorys vorgenommen, einschließlich der Möglichkeit, Branches für verschiedene Repositorys gleichzeitig zu erstellen (Previewfunktion).
- Eine Funktion zum Einbinden der README-Datei beim Erstellen neuer Git-Repositorys in Visual Studio wurde hinzugefügt.
- Die Funktion zum Anheften häufig verwendeter Branches mithilfe von Hoverschaltflächen wurde verbessert.
- Die Benutzeroberfläche für die Zuordnung von Arbeitselementen zu neuen Commits wurde übersichtlicher gestaltet.
IDE
- Die Möglichkeit zum Umschalten des Farbschemas, um Ihre Registerkarten anhand der Dateierweiterung oder des Projekts einzufärben, wurde hinzugefügt.
- Funktion zum Anpassen von Registerkartenfarben wurde hinzugefügt, wenn Farbregisterkarten aktiviert sind. Klicken Sie mit der rechten Maustaste auf eine Farbregisterkarte, und wählen Sie „Registerkartenfarbe festlegen“ aus.
Installation und Updates
- Die Anzahl der nach einer Installation erforderlichen Neustarts wurde reduziert.
- Neustarts waren häufig nötig, wenn Visual C++-Runtimedateien im Systemverzeichnis während ihrer Verwendung aktualisiert wurden. Diese Dateien werden normalerweise ordnungsgemäß aktualisiert. Ein Neustart ist nur erforderlich, um die ersetzten Dateien zu bereinigen. In diesen Fällen zeigt der VS-Installer jetzt ein Dialogfeld an, dass ein Neustart empfohlen wird.
- Wenn das Dialogfeld für den empfohlenen Neustart angezeigt wird, kann der oder die Benutzer*in die Visual Studio-IDE sofort und ohne Neustart starten.
- Informationen zu Ablaufdaten für den LTSC wurden dem Dialogfeld Updateeinstellungen hinzugefügt.
- Es wurde die Möglichkeit hinzugefügt, den Quellspeicherort von Updates programmgesteuert zu ändern, unabhängig davon, ob das Update tatsächlich durchgeführt wird. Dadurch können IT-Administrator*innen den Updatekanal programmgesteuert ändern.
„An Prozess anhängen“ für Microsoft Azure App Service
- Sie können jetzt an Ihren .NET (Framework, Core oder 5+) für Windows App Service anfügen, ohne dass eine Projektmappe oder ein Projekt geöffnet sein muss. Öffnen Sie das Dialogfeld „An Prozess anhängen“, ändern Sie den Verbindungstyp in „Microsoft Azure App Service“, und klicken Sie auf „Suchen“. Wählen Sie Ihr Abonnement aus, suchen Sie unterhalb der Ressourcengruppe nach Ihrer App Service-Instanz, und klicken Sie auf „OK“. Suchen Sie den Prozess, mit dem Sie eine Verbindung herstellen möchten, und wählen Sie „Anfügen“ aus.
Microsoft Teams-Entwicklertools
- Teams Toolkit ist eine Visual Studio-Erweiterung, die Entwickler beim Erstellen von Funktionen für Microsoft Teams unterstützt. Sie ist Bestandteil des Microsoft Teams-Frameworks (TeamsFx). Weitere Informationen zu Teams Toolkit und TeamsFx finden Sie auf GitHub und in der Microsoft Teams-Dokumentation.
- Sie können im Visual Studio-Installer jetzt die Microsoft Teams-Entwicklungstoolkomponente in der ASP.NET-Webentwicklungsworkload auswählen.
- Durch die Installation dieser Komponente wird die Teams Toolkit-Erweiterung hinzugefügt. Verwenden Sie die neue Microsoft Teams-App-Projektvorlage, um mit dem Erstellen einer neuen Teams-Registerkartenanwendung zu beginnen.
.NET-Produktivität
Ab sofort steht die IntelliSense-Vervollständigung für
await
innerhalb eines await-fähigen Ausdrucks zur Verfügung. Wenn Sie mit der Eingabe eines await-fähigen Ausdrucks beginnen, wird nunawait
in der Vervollständigungsliste angezeigt.Ab sofort steht ein Refactoring zur Verfügung, um statische Member in einen neuen Typ zu verschieben. Platzieren Sie den Cursor auf einem statischen Member. Drücken Sie STRG+., um das Menü Schnellaktionen und Refactorings aufzurufen. Wählen Sie Statische Member in einen anderen Typ verschieben aus. Daraufhin wird ein Dialogfeld geöffnet, in dem Sie die Elemente auswählen können, die Sie verschieben möchten.
Es steht ab sofort ein Refactoring zur Codevereinfachung zur Verfügung, um die neuen erweiterten C# 10.0-Eigenschaftsmuster zu verwenden. Durch die Verwendung erweiterter Eigenschaftsmuster können Sie auf geschachtelte Member verweisen, anstatt ein weiteres rekursives Muster zu schachteln. Platzieren Sie den Cursor auf einem Verweis für einen geschachtelten Member. Drücken Sie STRG+., um das Menü Schnellaktionen und Refactorings aufzurufen. Wählen Sie Eigenschaftsmuster vereinfachen aus.
Ab sofort steht ein Refactoring zur Verfügung, das einen Variablentausch erkennt und die Verwendung eines Tupels zum Tauschen von Werten vorschlägt, sodass Sie anstelle einer temporären Variable zum Tausch von Argumenten ein Tupel verwenden können. Platzieren Sie den Cursor auf einer temporären Variablenzuweisung, an der Sie Werte tauschen. Drücken Sie STRG+., um das Menü Schnellaktionen und Refactorings aufzurufen. Wählen Sie Tupel zum Tauschen von Werten verwenden aus.
Das Codedefinitionsfenster unterstützt ab sofort C# und Visual Basic. Um das Codedefinitionsfenster zu verwenden, drücken Sie entweder (STRG+W,D), oder wählen Sie „Ansicht“ > „Codedefinitionsfenster“ aus. Platzieren Sie als Nächstes den Cursor auf einem Bezeichner, um zum Code zu navigieren und diesen zu untersuchen.
Ab sofort steht ein Refactoring zum Aktivieren von Nullable-Verweistypen in einem Projekt zur Verfügung. Um Nullable-Verweistypen zu verwenden, müssen Sie entweder der Projektdatei das
<Nullable>
enable</Nullable>
-Element oder jeder Quelldatei in Ihrem Projekt das #nullable enable-Pragma hinzufügen. Um diesen Prozess zu optimieren, ist<Nullable>
enable</Nullable>
jetzt in neuen .NET-Projekten automatisch enthalten. Für vorhandene .NET-Projekte können Sie Nullable-Verweistypen aktivieren, indem Sie den Cursor auf einem #nullable enable-Pragma platzieren. Drücken Sie STRG+., um das Menü Schnellaktionen und Refactorings aufzurufen. Wählen Sie Nullable-Verweistypen in einem Projekt aktivieren aus.Die Signaturhilfe umfasst jetzt eine verbesserte Anzeige, wenn ein Tupel mehrmals in einer Signatur vorkommt. Die vereinfachte Ansicht enthält den Strukturtypschlüssel, der die Tupelinhalte anzeigt.
Mithilfe der Inlinediagnose können Sie jetzt Fehler und Warnungen auf einen Blick verstehen, ohne den Cursor über eine Codezeile bewegen zu müssen. Die Inlinediagnose ist standardmäßig deaktiviert. Sie müssen sie unter „Extras“ > „Optionen“ > „Text-Editor“ > „C#“ oder „Basic“ > „Erweitert“ durch Auswahl von Inlinediagnose anzeigen (experimentell) aktivieren.
Eingebetteter Quellcode und SourceLink werden nun als Teil der Funktion „Gehe zu Definition“ verfügbar gemacht, wenn eine referenzierte Assembly über eingebetteten Quellcode oder SourceLink verfügt. Dadurch können Sie zu den ursprünglichen Quelldateien navigieren, die das Zielsymbol deklarieren. Platzieren Sie den Cursor auf einem Symbol, und drücken Sie F12, um zur ursprünglichen Quelldatei zu navigieren.
Es gibt jetzt ein Stapelüberwachungs-Explorer-Fenster, in dem Stapelüberwachungen aus der Zwischenablage angezeigt werden, sodass Sie auf den zugehörigen Code klicken und direkt zu ihm navigieren können. Wenn Sie eine Stapelüberwachung aus Ihrer Projektmappe kopieren und dann den Fokus auf das Stapelüberwachungs-Explorer-Fenster umschalten, wird die Stapelüberwachung standardmäßig automatisch angezeigt. Um das Stapelüberwachungs-Explorer-Fenster zu öffnen, wechseln Sie zu „Ansicht > Weitere Fenster“, und wählen Sie „Stapelüberwachungs-Explorer“ aus.
Im Visual Studio 2019 haben wir eine neue Benutzeroberfläche für EditorConfig eingeführt. EditorConfig-Dateien definieren Codestile und -formate und sorgen so für konsistenten Code. Diese Dateien können sich mit Ihrem Code zusammen im Repository befinden und dieselbe Quellcodeverwaltung verwenden. Auf diese Weise ist der Stil-Leitfaden für jeden in Ihrem Team, der aus diesem Repository klont, identisch. In diesem Release haben wir der EditorConfig-Benutzeroberfläche Benennungsstile hinzugefügt. Um einem Projekt oder einer Projektmappe eine EditorConfig-Datei hinzuzufügen, klicken Sie mit der rechten Maustaste auf den Projekt- oder Projektmappennamen innerhalb des Projektmappen-Explorers. Wählen Sie „Neues Element hinzufügen“ aus. Suchen Sie im Dialogfeld „Neues Element hinzufügen“ nach „EditorConfig“. Wählen Sie die .NET-Vorlage „EditorConfig“ aus, um eine mit Standardoptionen voraufgefüllte EditorConfig-Datei hinzuzufügen. Beachten Sie die neue EditorConfig-Benutzeroberfläche und die neue Option „Benennungsstile“.
Sonstige Verbesserungen
- Funktion „Gehe zu Definition“ von den Quellinformationen in PDBs
- IntelliSense-Vervollständigung für
await
innerhalb eines await-fähigen Ausdrucks - Verschieben statischer Member in einen neuen Typ durch Refactoring
- Vereinfachen des Codes zur Verwendung der neuen erweiterten C# 10.0-Eigenschaftsmuster durch Refactoring
- Erkennen eines Variablentauschs und Vorschlagen der Verwendung eines Tupels zum Tauschen von Werten durch Refactoring
- Unterstützung für C# und Visual Basic im Codedefinitionsfenster
- Aktivieren von Nullable-Verweistypen in einem Projekt durch Refactoring
- Verbesserte Ansicht der Signaturhilfe, wenn ein Tupel mehrmals innerhalb einer Signatur angezeigt wird
- Verstehen von Fehlern und Warnungen auf einen Blick mit der Inlinediagnose
Vielen Dank!
- Zu guter Letzt möchten wir uns bei den folgenden Personen bedanken, die in diesem Monat zur .NET-Produktivität beigetragen haben (alias Roslyn):
- Youssef Victor (@Youssef1313):
- Petr Onderka (@svick):
- Keine Vereinfachung für Positionsmuster vorschlagen PR #57676
- Saleh Ahmed Panna (@panna-ahmed)
- Fehlende Warnmeldung lokalisiert PR #57502
- Pavel Krymets (@pakrym)
- Führende Leerzeichen in Codekommentaren nicht normalisieren PR #57414
- Kev Ritchie (@KevRitchie)
- Aktualisierung der Dokumentation zur Erläuterung des Verhaltens von FullyQualifiedFormat PR #57397
- Marcio A Braga (@MarcioAB)
- Aktualisierung von „TextSpan.cs“ PR #57300
- Bernd Baumanns (@bernd5)
- Fix für „Funktionszeigeraufruf hat "None" IOperation"“ PR #57191
- Martin Strecker (@MaStr11):
- Codefix für CS1591: Inheritdoc hinzufügen PR #57004
- Paul M Cohen (@paul1956):
- Anfänglicher Fix für Problem „VB-Formatierung von LineContinuation fehlerhaft nach _ ' Comment“ PR #54559
.NET-Hot Reload
- Mehrere Verbesserungen an .NET Hot Reload für Entwickler*innen von Blazor-Anwendungen wurden vorgenommen, einschließlich Fixes für die folgenden Probleme:
- Blazor-Entwickler*innen, die WebAssembly-Apps (Wasm) erstellen, wird manchmal ein Dialogfeld für Rude Edits angezeigt, obwohl Änderungen vorgenommen wurden, oder das Dialogfeld wird mehrfach angezeigt.
- Blazor-Entwickler*innen, die WebAssembly-Apps (Wasm) erstellen, wurden dauerhaft in den Rude-Edit-Status versetzt, wenn sie das Feature „Neu erstellen“ des Dialogfelds für Rude Edits verwendet haben und dann versucht haben, die Razor-Dateien zu bearbeiten.
- Blazor-Entwickler*innen wurde manchmal angezeigt, dass die Hot Reload-Sitzung beendet wurde, wenn sie die App über den Visual Studio-Debugger (F5) ausgeführt haben.
- Der Visual Studio-Debugger ist manchmal mit der Fehlermeldung „Debugging kann nicht beendet werden“ abgestürzt, wenn Blazor-Entwickler*innen versucht haben, die Datei „error.cshtml“ zu bearbeiten und Änderungen mit .NET Hot Reload auf diese angewendet haben. Weitere Fehlerbehebungen werden in zukünftigen Releases von Visual Studio vorgenommen, da wir die Funktionalität und Stabilität dieses Features verbessern möchten. Wenn Probleme auftreten, melden Sie sie über das Visual Studio-Feature „Problem melden“.
Leistung
- Schnellere Leistung beim Beenden einer Lösung durch Optimieren von Bereinigungsvorgängen beim Schließen einer Lösung
- Visual Studio indiziert jetzt Ihre Dateien in Ihrer Codebasis, um die Suche unter „In Dateien suchen“ zu beschleunigen. Deaktivieren Sie die indizierte Suche unter „Extras > Optionen > Umgebung > Previewfunktionen“, und deaktivieren Sie Aktivieren der Indizierung für eine schnellere Suchleistung.
Razor-Editor (ASP.NET Core)
- Razor fügt nun fehlende using-Direktiven hinzu, wenn eine schnelle Aktion eine erfordert.
Projektmappenfilter
- Eine Option zum Laden oder erneuten Laden der gesamten Abhängigkeitsstruktur für die Projekte in Ihrem Projektmappenfilter wurde hinzugefügt. Wenn neue Projekte zwar zur Abhängigkeitsstruktur hinzugefügt wurden, aber noch nicht manuell zu Ihrem Projektmappenfilter, können Sie problemlos alle Abhängigkeiten gleichzeitig hinzufügen.
- Diese Option (Update Project Dependencies, Projektabhängigkeiten aktualisieren) befindet sich im Kontextmenü des Projektmappenknotens (klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf die Projektmappe).
Testtools
- Eine Testanimation wird jetzt am unteren Rand der Visual Studio-Shell angezeigt, wenn ein Testvorgang durchgeführt wird. Sie ähnelt der Buildanimation und informiert Sie darüber, woran Visual Studio arbeitet. So erkennen Sie, dass der Prozess nicht abgestürzt ist.
- Code Coverage-Tools können jetzt das Cobertura-Format für Code Coverage erzeugen. Sie können dies in runsettings aktivieren, indem Sie im Abschnitt „DataCollector-Konfiguration“ Ihrer der runsettings-Datei
<Format>Cobertura</Format>
hinzufügen. Dieses Format kann im Code Coverage-Ergebnisfenster in Visual Studio Enterprise angezeigt werden. - Sie können mit dem Cobertura-Format auch Daten von der CLI erfassen, indem Sie es entweder in der runsettings-Datei oder in einem Parameter angeben. Verwenden Sie für die dotnet-Cli
dotnet test --collect:"Code Coverage;Format=Cobertura"
. Verwenden Sie für vstestvstest.console.exe /collect:"Code Coverage;Format=Cobertura"
. Der collect-Parameter überschreibt das in runsettings angegebene Format.
Webtools
- Beim Bereitstellen und Auswählen von Azure-Ressourcen speichert Visual Studio die zuvor getroffene Auswahl für die Felder „Ressourcengruppe“" und „Standort“, anstatt immer den ersten Eintrag in der Liste zu verwenden. Auch wenn keine vorherige Auswahl verfügbar ist, berechnet Visual Studio jetzt den nächstgelegenen geografischen Standort und wählt diesen standardmäßig aus.
- Veröffentlichungsprofile werden jetzt immer alphabetisch in der Dropdownliste oben auf der Seite mit der Zusammenfassung der Veröffentlichung sowie in der Dropdownliste auf der Visual Studio-Symbolleiste mit dem Namen „Webveröffentlichung mit einem Klick“ aufgeführt.
- Die Toolunterstützung für Azure Container Apps verbleibt im Visual Studio-Vorschaukanal. Installieren Sie das Release 17.2 Preview 1, um weiterhin mit Azure Container Apps zu arbeiten.
Neuladen von XAML im laufenden Betrieb
- XAML Hot Reload unterstützt bei gemeinsamer Verwendung von .NET Hot Reload ab sofort mehr End-to-End-Szenarios. Die folgenden Szenarios sind jetzt möglich: Für WPF- und WinUI 3-Apps:
- Der XAML-Code-Editor zeigt nun neu erstellte Steuerelementtypen und Eigenschaften ordnungsgemäß an, die durch einen .NET Hot Reload-Vorgang in IntelliSense erstellt wurden.
- Das Binden an eine neu erstellte Eigenschaft mithilfe von .NET Hot Reload funktioniert nun wie erwartet. Für WinUI können Sie jetzt auch x:Bind verwenden, um eine Bindung an eine neue Eigenschaft zu erstellen. Für WPF-Apps:
- Es ist jetzt möglich, eine neu erstellte Methode für einen Ereignishandler hinzuzufügen, der mithilfe von .NET Hot Reload erstellt wurde. Hinweis: Die oben genannten Szenarien funktionieren zwar, wenn die Typen erstmalig mithilfe von .NET Hot Reload angewendet werden und anschließend XAML Hot Reload verwendet wird, es gibt jedoch eine bekannte Einschränkung. Wenn Sie beispielsweise die Zuweisung einer neuen Eigenschaft mithilfe von XAML Hot Reload einer Eigenschaft hinzufügen, die noch nicht erstellt wurde, und dann nur .NET Hot Reload verwenden, um sie zu erstellen, kann die XAML-Änderung die neue Eigenschaft nicht sehen. Dieses Problem ist uns bekannt, und wir hoffen, es in Zukunft zu verbessern.
XAML-Livevorschau
- Es wurden mehrere Verbesserungen am Verhalten von Linealen, der Zoomfunktion und der Elementauswahl vorgenommen.
- Die XAML-Livevorschau unterstützt jetzt .NET MAUI-Apps (WinUI und Android), jedoch nur, wenn .NET MAUI auch verfügbar ist.
In diesem Release wurden unter anderem die folgenden Verbesserungen an der XAML-Livevorschau vorgenommen:
.NET MAUI-Unterstützung (WinUI und Android-Emulator): Die Ausführung von .NET MAUI-Apps als WinUI 3-App oder im Android-Emulator wird jetzt unterstützt.
(Hinweis: .NET MAUI wird noch nicht in allen Versionen von Visual Studio unterstützt. Daher wird diese Funktion nur in Versionen unterstützt, in denen .NET MAUI verfügbar ist, auch wenn sie ab Version 17.1 integriert ist.)
Änderungen an Linealen: Lineale zeigen den Pixelindikator jetzt ordnungsgemäß von rechts nach links oder von links nach rechts (je nach Anwendungskonfiguration) an. Änderungen an der Elementauswahl: Wenn Sie das Feature „Element auswählen“ in der XAML-Livevorschau verwenden, werden Sie jetzt immer zur Quelle weitergeleitet. Zuvor gab es eine konfigurierbare Option, die jedoch in diesem Release entfernt wurde. Das Verhalten wurde standardisiert, um Verwirrung zu vermeiden. Verbesserungen am Zoomen: Das Dropdownmenü zum Zoomen unterstützt jetzt automatisch die Optionen „Alle anpassen“, „Breite anpassen“ und „Höhe anpassen“, um das Zoomen in diesen Szenarios zu vereinfachen. Neben dieser neuen Funktion können Sie auch weiterhin die normale Zoomfunktion nach Prozentzahl oder das Mausrad verwenden.
In Version 17.1 behobene Probleme
- Es wurde ein Problem behoben, bei dem die benutzerdefinierte DataSet-Debuggerschnellansicht nicht für Remote- und Azure App Service-Szenarios funktionierte.
- Unterstützung zum Abbrechen eines ausstehenden „Hot Reload“-Vorgangs wurde hinzugefügt.
- Inkrementelle Bereitstellungsprobleme mit Xamarin Hot Restart wurden behoben.
- Die Code Lenses-Unterstützung für TFS wurde korrigiert und aktiviert.
- Ein Fehler wurde behoben, der in Razor- und LiveShare-Szenarios eine falsch ausgerichtete farbliche Kennzeichnung von Code verursachte.
- C++-IntelliSense von Visual Studio wird verbessert, wenn CMake-Projekte auf macOS-Systemen als Ziel verwendet werden. Visual Studio verarbeitet nun die CMAKE_OSX_SYSROOT-Variable von CMake, wenn nach C++-Headern gesucht wird.
- Es wurden mehrere Probleme behoben, bei denen die Verwendung der omp-Aufgabe beim Kombinieren von „/openmp:llvm“ und „/ZI“ zu einem Absturz des Compilers führen konnte oder dass unbeabsichtigt fehlerhafter Code erzeugt wurde.
- Ein Problem beim Debuggen von Android-Anwendungen wurde behoben, wenn die schnelle Bereitstellung deaktiviert ist.
- Behoben: Problem, das C2567 bei Verwendung von „/experimental:deterministic“, „/pathmap“ und „/clr“ verursacht hat
- Behoben: Abstürze in ARM64X-Thunks aus /RTC-Flags
- Bereits ergänzte ARM64EC-Symbole dürfen bei der Verknüpfung nicht weiter ergänzt werden.
- Behoben: Problem bei der Azure Container Apps-Workflowgenerierung, bei der die Dienstprinzipalgenerierung fehlschlägt, wenn ein Dienstprinzipal mit demselben Namen bereits vorhanden ist
- Die Operatoren „<=>“ und „==“ wurden ATL CString hinzugefügt.
- Die Tabelle mit den Linkerflags wurde aktualisiert, damit sich die „-cgthreads“ und „-pdbthreads“ in den Phasen GENRROFILE und USEPROFILE unterscheiden können.
- Ein Problem beim Veröffentlichen von Projekten wurde behoben, die einen x86-COM-Verweis mit ClickOnce enthalten.
- Es wurde ein VS-Absturzfehler beim Hinzufügen mehrerer Startprofile im Dialogfeld „Docker Compose-Starteinstellungen verwalten“ behoben.
- Korrektur der Paketerstellung von
no-write-symbols,nodebug
von AOT-Assemblys in Xamarin.Android-Anwendungen - Der C#-Compiler würde in bestimmten Szenarios mit interpolierten Zeichenfolgenhandlern und From-End-Indexern in Dekonstruktionszuweisungen falsche Codegenerierung erstellen oder abstürzen. Diese Probleme wurden nun behoben. Weitere Informationen finden Sie unter https://github.com/dotnet/roslyn/issues/58514 und https://github.com/dotnet/roslyn/issues/58569.
- Korrektur eines zeitweiligen VS-Absturzes, wenn der .NET-Designer von WinForms geöffnet ist und einige Vorgänge für das Projekt ausgeführt werden
- ARM64EC wurde zu /MACHINE-Optionen für „link.exe“ hinzugefügt.
- Das Problem wurde behoben, dass manchmal Änderungen an der Einstellungsdatei des CMake-Arbeitsbereichs nicht wirksam wurden.
- Unter bestimmten Umständen kann ein Arbeitsdienst nicht erfolgreich in Azure Container Apps veröffentlicht werden.
- Es wurde ein Problem behoben, bei dem Visual Studio auf Windows 7-Computern nicht gestartet werden konnte.
Aus der Entwicklercommunity
- Ich muss das Beenden von „devenv.exe“ regelmäßig erzwingen, um VS zu schließen, da die Umgebung im Bearbeitungsmodus festhängt und weiterhin ausgeführt wird
- Razor-Tools: Discofarben weiterhin vorhanden
- Inlineersetzung fokussiert die falsche Eingabe
- MSB3179: Problem beim Isolieren des COM-Verweises „SMTLib“: Keine registrierte Klassen für diese Komponente erkannt
- Verwendung des neuen Fensters „Debugeigenschaften des Projekts“ mit Sprachausgabe nicht möglich
- Hot Reload funktioniert mit CSHTML-Datei in .NET-Websiteprojekten nicht
- Vom Quell-Generator generierter Code wird rot unterschlängelt, aber problemlos kompiliert
- Option für bidirektionale Textsteuerung muss überarbeitet werden
- Visual Studio 2022 stürzt beim Versuch ab, ein neues Profil über die Einstellungen „Docker Compose verwalten“ hinzuzufügen
- Der Quell-Generator IntelliSense funktioniert nicht für Clientprojekte
- Fehler bei Hot Restart mit iOS 15 mit eingebetteten Schriftarten und einigen zusätzlichen Komponenten (wie Firebase)
- Langsames „Gehe zu Definition“ in Visual Studio bei Verwendung von UE5 Early Access (war „IntelliSense mit großen Projekten funktionsfähig machen“)
- Fehler in Visual Studio 2022 mit Xamarin und SignalR (Methode nicht gefunden)
- Git-Repositoryfenster verwendet falsches Datumsformat (Regression in VS 2022)
- Unerwartetes Problem in Visual Studio
- Visual Studio 2022, Preview 7, bleibt bei „Warten auf den Abschluss der Initialisierung von IntelliSense...“ hängen.
- System.InvalidOperationException: Kein ausstehendes Update
- UseMultiToolTask unterbricht die Änderungserkennung in einem vorkompilierten C++-Header, wenn eine einzelne CPP kompiliert wird.
- Das Symbol „WebAssembly“ kann nicht aufgelöst werden.
- Cursor springt beim Hinzufügen eines Semikolons zu C#-Codezeilen in einer Blazor-Seite (*.razor)
- PackageId:Microsoft.VisualStudio.TestWindow.SourceBasedTestDiscovery;PackageAction:Install;ReturnCode:-2147024690;
- Module: std::any wird in nicht trivialem Code unterbrochen, wenn ein Modul importiert wird.
- ARM64: Fehlerhafte Codegenerierung (codegen), wenn der Compiler entscheidet, als Wert zu übergeben.
- Fehler beim Kompilieren unter WSL mit „Maximale Anzahl paralleler Kompilierungsaufträge“ > 1
- Verwendung von bitweisem „|“, wenn wahrscheinlich logisches „||“ beabsichtigt war
- Feature „Alle Verweise suchen“ in Visual Studio 2019, Version 16.10.X
- Ein Problem beim Veröffentlichen von Projekten wurde behoben, die einen x86-COM-Verweis mit ClickOnce enthalten.
- Visual Studio: Upgrade führt zu Fehler bei Paketkompilierung
- Linux-Entwicklung mit C++: Interne dynamische Verknüpfung ist falsch
- Kommentare ohne Doxygen-Tags werden nicht korrekt analysiert
- Linkfehler bei lokaler Deklaration im Namespace
- Vordefinierte Makros für „launch.vs.json“
- Projektmappen-Explorer zeigt PowerShell-Dateisymbol nicht an
- Falsch positive C26440-Warnung: Die Funktion kann als „noexcept“ deklariert werden
- C++: „std::is_empty“ für eine Vorlagenspezialisierung nicht korrekt
- VC++ für Linux: Remote-Präbuildereignis wird vor dem Kopieren von Quellen ausgeführt
- Blazor Server und CSS-Isolation unter Verwendung von .NET 6 + VS Community 2022
Weitere Informationen dazu finden Sie in unserer vollständigen Liste der Fehlerbehebungen für die Entwicklercommunity in diesem Release.
Bekannte Probleme
Unter dem folgenden Link können Sie sich über alle offenen Probleme und verfügbaren Problemumgehungen in Visual Studio 2022 informieren.
Feedback und Vorschläge
Wir freuen uns auf Ihr Feedback! Sie können ein Problem melden oder ein Feature vorschlagen , indem Sie das Symbol „Feedback senden“ in der oberen rechten Ecke des Installationsprogramms oder der Visual Studio-IDE nutzen oder Hilfe > Feedback senden verwenden. Sie können Ihre Probleme in der Entwicklercommunity für Visual Studio nachverfolgen, in der Sie Kommentare hinzufügen und Lösungen suchen 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.