ist jetzt verfügbar! Lesen Sie über die neuen Funktionen und Fehlerbehebungen vom November.

C# Dev Kit FAQ

Verwenden Sie dieses FAQ (Häufig gestellte Fragen), um mehr über die C# Dev Kit-Erweiterung zu erfahren und Probleme zu beheben, die Sie möglicherweise haben.

Allgemein

Was ist C# Dev Kit?

C# Dev Kit ist eine Erweiterung, die entwickelt wurde, um Ihre C#-Entwicklungserfahrung in Visual Studio Code zu verbessern. Ziel ist es, eine umfassendere, produktivere und zuverlässigere C#-Erfahrung in VS Code zu bieten. C# Dev Kit ersetzt nicht die bestehende C#-Erweiterung, sondern baut auf den großartigen Sprachdienstfunktionen auf, die diese bietet. Entwickler können entweder die aktualisierte Version der bestehenden C#-Erweiterung weiter verwenden oder ihre Erfahrung durch Hinzufügen von C# Dev Kit verbessern.

Welche Projektarten werden derzeit unterstützt?

C# Dev Kit unterstützt die Erstellung von Web-Apps, Konsolen-Apps, Klassenbibliotheken und Testprojekten für .NET Core, oft auch als .NET bezeichnet. Die .NET MAUI-Erweiterung und die Unity-Erweiterung bauen auf C# Dev Kit auf und bieten zusätzliche Unterstützung für die Erstellung von .NET Multi-platform App UI (MAUI)-Apps und Unity-Apps. Diese Erweiterungen unterstützen das moderne .NET-Projektformat, auch bekannt als "sdk-style"-Projekte. Wenn Sie Projekte im Nicht-SDK-Format erstellen, wie z. B. .NET Framework-Apps und Xamarin-Apps, lesen Sie den Abschnitt Projektsystem.

Welche Erweiterungen sind in C# Dev Kit enthalten?

Derzeit sind die Erweiterungen, die zur C# Dev Kit-Familie gehören:

Die Nutzung dieser Erweiterungen unterliegt der EULA für die C# Dev Kit-Erweiterungsfamilie.

Diese Erweiterungen haben auch Abhängigkeiten, die ihre eigenen Lizenzbedingungen mit sich bringen – zum Beispiel hängt C# Dev Kit von der C#-Erweiterung und dem .NET Install Tool ab.

Warum wird C# Dev Kit nicht aktiviert / C# Dev Kit-Befehle werden nicht gefunden?

Es gibt mehrere Gründe, warum C# Dev Kit nicht aktiviert wird, wenn Sie versuchen, eine C#-Datei zu bearbeiten.

  1. Version 2.0+ der C#-Erweiterung ist nicht installiert. C# Dev Kit benötigt Version 2.0 oder höher der C#-Erweiterung. Stellen Sie sicher, dass Sie die C#-Erweiterung installiert haben und dass Sie eine Version 2.0 oder höher haben.
  2. Workspace bevorzugt die C#-Erweiterung. C# Dev Kit unterstützt keine .NET Framework-Projekte. Wenn Sie die Einstellung dotnet.preferCSharpExtension auf true gesetzt haben, wird C# Dev Kit für diesen Workspace deaktiviert. Wenn es sich bei dem Projekt nicht um ein .NET Framework-Projekt handelt, stellen Sie sicher, dass Sie diese Einstellung deaktivieren.
  3. Verwendung eines schreibgeschützten Betriebssystems. C# Dev Kit erfordert Schreibzugriff auf seinen eigenen Erweiterungsordner und auf den von VS Code bereitgestellten Ordner, damit Erweiterungen beliebige Zustände innerhalb des Betriebssystems schreiben können. Wenn Sie ein Betriebssystem verwenden, das vollständig schreibgeschützt ist, funktioniert C# Dev Kit nicht.

Wenn Sie dies überprüft haben und die C# Dev Kit-Befehle immer noch nicht gefunden werden, melden Sie bitte ein Problem und stellen Sie die Informationen im Ausgabefenster für C# Dev Kit zur Verfügung.

Lizenzierung und Beiträge

Wer kann C# Dev Kit nutzen?

C# Dev Kit ist über eine Community-Lizenz für qualifizierte Personen verfügbar und wird außerdem als weitere Ergänzung zu bestehenden Visual Studio-Abonnements angeboten. Das bedeutet, dass C# Dev Kit für Entwickler mit aktiven Visual Studio-Abonnements sofort nutzbar ist.

Für persönliche, akademische und Open-Source-Projekte kann C# Dev Kit kostenlos genutzt werden. Für kommerzielle Zwecke können Teams von bis zu 5 Personen C# Dev Kit ebenfalls kostenlos nutzen. Für 6+ Entwickler benötigen diese Benutzer ein Visual Studio Professional (oder höher) Abonnement. C# Dev Kit ist auch in GitHub Codespaces und Microsoft Dev Box enthalten, sodass Benutzer dieser Produkte C# Dev Kit ohne zusätzliche Kosten nutzen können.

Wo kann ich Feedback und Vorschläge einreichen?

Benutzer können ein Problem oder einen Vorschlag über VS Code melden: Hilfe > Problem melden. Wählen Sie aus, ob es sich um einen Fehler, eine Feature-Anfrage oder ein Leistungsproblem handelt, reichen Sie es unter Eine Erweiterung ein und wählen Sie C# Dev Kit aus der Liste der Erweiterungen aus.

Help > Report Issue image

Ist C# Dev Kit Open Source? Warum nicht?

Nein. C# Dev Kit ist Closed Source, basiert aber auf der C#-Erweiterung für VS Code, die Open Source ist, und beide kommunizieren mit Open-Source-Komponenten wie Roslyn und Razor. Eines unserer Ziele mit C# Dev Kit ist es, eine verbesserte Produktivitäts-Erfahrung für C#-Entwickler zu bieten, die VS Code verwenden. Um dies zu erreichen, enthält C# Dev Kit einige proprietäre Closed-Source-Funktionen, die mit unseren anderen Tools gemeinsam genutzt werden. Um diese Erfahrungen für VS Code-Benutzer verfügbar zu machen, mussten wir C# Dev Kit als Closed-Source-Erweiterung einführen.

Wie kann ich beitragen?

Die C#-Erweiterung, die Teil des C# Dev Kit ist, ist vollständig Open Source und unterliegt diesen Lizenzbedingungen. Der Quellcode dieser Erweiterung ist unter https://github.com/dotnet/vscode-csharp verfügbar und unter der MIT-Lizenz lizenziert.

Dieses Projekt hat den Verhaltenskodex der Contributor Covenant übernommen, um das erwartete Verhalten in unserer Community zu klären. Weitere Informationen finden Sie im Verhaltenskodex der .NET Foundation. Durch die Unterzeichnung des CLA kann die Community Ihren Beitrag zu .NET Foundation-Projekten frei nutzen.

.NET SDK

Installationsskript hat das Zeitlimit überschritten

Beachten Sie, dass die Installation der .NET Core-Laufzeit je nach Netzwerkgeschwindigkeit einige Zeit dauern kann. Standardmäßig bricht die Installation mit einem Fehler ab, wenn die Fertigstellung länger als 4,5 Minuten dauert. Wenn Sie der Meinung sind, dass dies zu wenig (oder zu viel) Zeit zum Herunterladen ist, können Sie den Timeout-Wert ändern, indem Sie dotnetAcquisitionExtension.installTimeoutValue auf einen benutzerdefinierten Wert setzen.

Erfahren Sie mehr über die Konfiguration von VS Code-Einstellungen und sehen Sie unten ein Beispiel für einen benutzerdefinierten Timeout in einer settings.json-Datei. In diesem Beispiel beträgt der benutzerdefinierte Timeout-Wert 180 Sekunden oder 3 Minuten

{
  "dotnetAcquisitionExtension.installTimeoutValue": 180
}

Fehler beim Erwerb des .NET SDK

Error acquiring .NET SDK

Hinweis: Wenn Sie sich in China befinden, kann Ihr .NET SDK-Download blockiert werden und zu einem Timeout führen.

Sie müssen sicherstellen, dass Sie das .NET SDK installiert haben. Als Workaround können Sie die Erweiterung zur Erfassung der .NET-Laufzeit auf eine vorhandene .NET-Installation verweisen

Point the .NET runtime acquisition extension to an existing .NET SDK install

Wie installiere ich .NET manuell?

Wenn die .NET-Installation fehlschlägt oder Sie eine vorhandene .NET-Installation wiederverwenden möchten, können Sie die Einstellung dotnetAcquisitionExtension.existingDotnetPath verwenden. .NET kann manuell über das C# Dev Kit-Tutorial oder die .NET-Website installiert werden. Um die Erweiterung auf diese Installation zu verweisen, aktualisieren Sie Ihre Einstellungen mit der Erweiterungs-ID und dem Pfad, wie unten gezeigt

Windows

{
  "dotnetAcquisitionExtension.existingDotnetPath": [
    {
      "extensionId": "msazuretools.azurerm-vscode-tools",
      "path": "C:\\Program Files\\dotnet\\dotnet.exe"
    }
  ]
}

macOS

{
  "dotnetAcquisitionExtension.existingDotnetPath": [
    {
      "extensionId": "msazuretools.azurerm-vscode-tools",
      "path": "/usr/local/share/dotnet/dotnet"
    }
  ]
}

Die Erweiterung denkt, ich bin offline mit der Fehlermeldung 400 oder 407, und ich habe einen Proxy

Wenn Ihr System einen Proxy verwendet und der Registrierungszugriff deaktiviert ist, müssen Sie die Proxy-URL explizit in den Erweiterungseinstellungen festlegen. Proxys werden automatisch erkannt, wenn sie über Umgebungsvariablen und die Registrierung gesetzt werden. Wenn Ihr Proxy jedoch nur über Registrierungsschlüssel verwaltet wird und der Registrierungszugriff deaktiviert ist, kann die Erweiterung ihn nicht finden. Um die Proxy-URL festzulegen, fügen Sie die folgende Erweiterungseinstellung hinzu

{
  "dotnetAcquisitionExtension.proxyUrl": "https://your_proxy_url:port"
}

Projektsystem

Der Lösungs-Explorer meldet, dass mein Projekt in C# Dev Kit nicht unterstützt wird

Dies liegt normalerweise daran, dass das Projekt .NET Framework anstelle von .NET Core/.NET als Ziel hat. Derzeit unterstützt C# Dev Kit keine .NET Framework-Projekte.

Project Not Supported in Solution Explorer

Um dieses Problem zu beheben, haben Sie zwei Möglichkeiten.

Sie können Ihr Projekt aktualisieren, um ein SDK-basiertes Projekt zu erhalten und so auf alle verfügbaren C# Dev Kit-Funktionen zuzugreifen.

Alternativ können Sie das Laden von Projekten und Lösungen an die C#-Erweiterung delegieren, indem Sie die Workspace-Einstellung Prefer CSharp Extension im Einstellungen-Editor verwenden. Beachten Sie, dass einige C# Dev Kit-Funktionen mit dieser Einstellung nicht verfügbar sind. Um auf diese Einstellung zuzugreifen, gehen Sie zum Einstellungen-Editor und wählen Sie die Registerkarte Workspace aus. Suchen Sie dann in der Suchleiste nach "Prefer CSharp" und aktivieren Sie das Kontrollkästchen neben der Einstellung Prefer CSharp Extension. Wenn Sie versuchen, ein .NET Framework-Projekt zu laden, zeigt C# Dev Kit automatisch eine Benachrichtigung an, die Sie auffordert, entweder Ihr Projekt in ein SDK-basiertes Projekt zu aktualisieren oder die C#-Erweiterung Ihr Projekt oder Ihre Lösung laden zu lassen, indem Sie Use C# Extension aus der Benachrichtigung auswählen. Diese Option wählt automatisch die Einstellung Prefer CSharp Extension aus. Beachten Sie, dass Sie VS Code neu laden müssen, damit diese Einstellung wirksam wird.

Ich habe auf die Schaltfläche "Neues .NET-Projekt erstellen" geklickt und nichts ist passiert

Dies tritt normalerweise auf, wenn eine Versionsinkongruenz der Erweiterungen vorliegt. C# Dev Kit benötigt Version 2.0 oder höher der C#-Erweiterung. Wenn Sie sich auf Version 1 der C#-Erweiterung befinden, funktionieren C# Dev Kit und die damit verbundenen Befehle nicht ordnungsgemäß. Um dies zu beheben, aktualisieren Sie die C#-Erweiterung auf die neueste Version.

Das Projektsystem meldet, dass ein Problem aufgetreten ist

Wenn ein interner Fehler im Projektsystem auftritt, sehen Sie normalerweise eine Benachrichtigung wie diese, die in einer Ecke von VS Code erscheint

Failed to Restore Solution

Klicken Sie auf die Schaltfläche Protokoll öffnen, um eine Ansicht zu öffnen, die einen Stacktrace anzeigt, wo das Problem aufgetreten ist. Wählen Sie den gesamten Text im Protokoll aus und kopieren Sie ihn. Melden Sie das Problem über VS Code und stellen Sie sicher, dass Sie den kopierten Text aus dem Protokoll einfügen.

Wenn ich meine Lösung öffne, erhalte ich die Benachrichtigung "Fehler beim Wiederherstellen der Lösung"

Wählen Sie Fehler anzeigen. Dies öffnet das Ausgabefenster für NuGet. Lesen Sie den Fehler, um festzustellen, warum die Paketwiederherstellung nicht abgeschlossen werden konnte. Wenn Sie das Problem nicht lösen können, melden Sie es über VS Code.

Der Lösungs-Explorer zeigt "Kein kompatibles .NET SDK gefunden" an

Die wahrscheinlichste Ursache für diesen Fehler ist eine global.json-Datei, die ein anderes SDK angibt als das, das auf dem System installiert ist.

A compatible .NET SDK was not found

Öffnen Sie das Ausgabefenster und wechseln Sie zur Registerkarte Projekte, um weitere Informationen zu erhalten. Sie sollten so etwas sehen

Output Window Projects Pane

Um das Problem zu beheben, aktualisieren Sie entweder die global.json, um ein installiertes SDK anzugeben, oder installieren Sie das angegebene SDK von der Download .NET-Seite.

Schließen Sie dann den Workspace und öffnen Sie ihn erneut.

Es ist auch möglich, dass das SDK nicht an einem Ort installiert ist, der von C# Dev Kit bekannt ist. Dies kann zum Beispiel passieren, wenn das SDK über einen Paketmanager installiert wurde und nicht über die von Microsoft bereitgestellten Installer. Um dies zu beheben, deinstallieren Sie das SDK über den Paketmanager und installieren Sie es dann über Download .NET.

Test Explorer

Warum werden meine Tests nicht im Test Explorer-Panel angezeigt?

Stellen Sie sicher, dass Ihre Lösung ein Testprojekt enthält. Nur Testprojekte, die Teil der geöffneten Lösung sind, werden einbezogen. Um zu sehen, ob das Testprojekt Teil der Lösung ist, öffnen Sie die Ansicht "Lösungs-Explorer" im Datei-Explorer und prüfen Sie, ob das Projekt in der Baumstruktur angezeigt wird. Klicken Sie mit der rechten Maustaste auf den Lösungs-Knoten, um vorhandene Testprojekte hinzuzufügen oder ein neues Testprojekt in der Lösung zu erstellen.

C# Dev Kit erfordert außerdem, dass Ihr Projekt erfolgreich erstellt wurde, bevor Tests im Test Explorer-Panel angezeigt werden. Auch wenn eine Bereinigung an Ihrem Projekt/Ihrer Lösung durchgeführt wird, werden die Test-DLLs aus dem Test Explorer-Panel entfernt.

Sobald Sie bestätigt haben, dass Ihr Testprojekt Teil der Lösung ist, erstellen Sie Ihre Lösung, indem Sie mit der rechten Maustaste auf die Lösung im Lösungs-Explorer klicken und Erstellen auswählen oder ⇧⌘B (Windows, Linux Ctrl+Shift+B) verwenden. Sobald die Erstellung abgeschlossen ist, werden Ihre Tests im Test Explorer-Panel angezeigt.

Wenn Ihre Tests immer noch nicht angezeigt werden, ziehen Sie die folgenden zusätzlichen Überprüfungen in Betracht

  • Unterstütztes .NET Core SDK: Stellen Sie sicher, dass Sie ein unterstütztes .NET Core SDK für Ihre Plattform und Ihr System verwenden. Einige SDKs funktionieren auf bestimmten Betriebssystemen oder Architekturen nicht. Weitere Informationen finden Sie auf der offiziellen Download-Seite für .NET: https://dotnet.microsoft.com/en-us/download.
  • Gültige SDK-Installation: Überprüfen Sie, ob eine gültige SDK-Installation erkannt wird. Sie können diagnostisches Logging aktivieren, um zu überprüfen, welches SDK für Ihr .NET-Projekt erkannt wird. Beachten Sie, dass .NET SDKs, die über nicht unterstützte Tools wie ASDF oder Mise installiert wurden, möglicherweise nicht erkannt werden, da sie von den offiziellen Installationsmethoden von Microsoft abweichen. Wir empfehlen, die offiziellen Anweisungen zu befolgen.
  • Build-Ausgabe: Bestätigen Sie, dass der Build abgeschlossen ist und die entsprechenden Binärdateien wie .dll oder .exe generiert wurden.
  • Projekt laden: Stellen Sie sicher, dass alle Projekte geladen sind. Suchen Sie im Lösungs-Explorer nach einem Test-Symbol neben Testprojekten, um zu bestätigen, dass sie erkannt wurden.

Meine Tests werden im Test Explorer-Panel angezeigt, aber ich kann sie nicht debuggen

Stellen Sie sicher, dass Ihre Tests auf NET Core abzielen. C# Dev Kit unterstützt keine .NET Framework-Projekte, obwohl .NET Framework-Projekte geladen werden und zu funktionieren scheinen können. Der Debugger in VS Code unterstützt .NET Framework nicht.

Ich habe gerade neue Tests zu meinem Testprojekt hinzugefügt, und sie werden nicht im Test Explorer-Panel angezeigt?

C# Dev Kit erfordert, dass Ihr Projekt erfolgreich erstellt wurde, bevor Tests im Test Explorer-Panel angezeigt werden.

Erstellen Sie Ihre Lösung, indem Sie mit der rechten Maustaste auf die Lösung im Lösungs-Explorer klicken und Erstellen auswählen oder ⇧⌘B (Windows, Linux Ctrl+Shift+B) verwenden. Sobald die Erstellung abgeschlossen ist, werden Ihre Tests im Test Explorer-Panel angezeigt.

Warum werden meine Tests im Test Explorer nicht erkannt oder ausgeführt?

Wenn Ihr Testprojekt die Microsoft Testing Platform (MTP) verwendet, entweder über MSTest, NUnit, xUnit v3 oder das TUnit-Testframework, werden Ihre Tests möglicherweise nicht im Test Explorer erkannt oder ausgeführt, da MTP sich von der traditionellen VSTest-Plattform unterscheidet. Um dies zu beheben, müssen Sie die Einstellung "Use Testing Platform Protocol" (Testplattforms-Protokoll verwenden) in Visual Studio Code aktivieren, damit C# Dev Kit mit MTP-Testprojekten kommunizieren kann.

Befolgen Sie diese Schritte, um die Einstellung zu aktivieren

  1. Einstellungen in VS Code öffnen: Gehen Sie zu Datei > Einstellungen > Einstellungen (oder drücken Sie ⌘, (Windows, Linux Ctrl+,)).
  2. Geben Sie in der Suchleiste der Einstellungen "Test Window" ein, um die Ergebnisse zu filtern.
  3. Finden Sie die Einstellung Dotnet > Test Window: Use Testing Platform Protocol unter den C# Dev Kit-Erweiterungseinstellungen.
  4. Aktivieren Sie das Kontrollkästchen, um es zu aktivieren (oder schalten Sie es auf "Ein").
  5. Laden Sie VS Code neu, indem Sie den Befehl Fenster neu laden in der Befehlspalette ausführen (⇧⌘P (Windows, Linux Ctrl+Shift+P)).

Nachdem Sie diese Einstellung aktiviert haben, sollten Ihre Tests ordnungsgemäß im Test Explorer erkannt und ausgeführt werden.

Wie sammle ich Protokolle zur Fehlerbehebung bei Problemen mit dem Test Explorer?

Wenn Sie Probleme mit dem Test Explorer haben, können Sie die diagnostische Protokollierung aktivieren, um weitere Informationen zur Fehlerbehebung zu sammeln.

  1. Erhöhen Sie die Ausführlichkeit des Test Explorers: Navigieren Sie zu den C# Dev Kit-Einstellungen und erhöhen Sie die Einstellung "Test Explorer Verbosity" (Test Explorer Ausführlichkeit) von minimal auf diagnostic. Dies generiert detailliertere Protokolle.
  2. Überprüfen Sie das Ausgabefenster: Öffnen Sie das Ausgabefenster in Visual Studio Code und wählen Sie C# Dev Kit - Test Explorer aus der Dropdown-Liste. Diagnosenachrichten werden mit einem [dev]-Präfix angezeigt.
  3. Sammeln Sie die folgenden Informationen: Stellen Sie beim Melden eines Problems sicher, dass Sie Folgendes einschließen
    • Die Diagnoseprotokolle aus dem Ausgabefenster.
    • Ihr Betriebssystem und seine Version (z. B. Windows 10, macOS 13).
    • Die Version der C# Dev Kit-Erweiterung, die Sie verwenden. Gehen Sie zur Erweiterungsansicht und bewegen Sie den Mauszeiger über die Erweiterung, um die Versionsinformationen anzuzeigen.

Diese Informationen helfen bei der effizienteren Diagnose und Behebung des Problems.

Debugger

Wenn ich F5 drücke, passiert nichts

Stellen Sie sicher, dass Sie ein C#-Projekt geöffnet haben oder dass das aktive Dokument eine .cs- oder .razor-Datei ist. Wenn der Debugger immer noch nicht geladen werden kann, stellen Sie sicher, dass sowohl C# Dev Kit als auch die C#-Erweiterungen aktiviert wurden.

Wenn ich F5 drücke und nach einem "Debugger auswählen" gefragt werde. Wie weiß ich, welchen ich auswählen soll?

Wenn Sie .NET-Konsolenanwendungen, Blazor Server-Apps, Blazor WebAssembly oder Webanwendungen debuggen möchten, wählen Sie die Option C#. Die anderen Optionen können Teil anderer Erweiterungen sein, z. B. Node für das JavaScript-Debugging oder Python für das Python-Debugging, und gehören nicht zu C# Dev Kit.

Wenn ich F5 drücke, werde ich aufgefordert, ein Passwort einzugeben (nur macOS)

macOS hat den Entwicklermodus standardmäßig deaktiviert und fordert ein Passwort an, um den Benutzer zu schützen, falls ein Programm als Debugger verwendet werden soll.

Wenn Sie diese Aufforderungen deaktivieren möchten, können Sie die folgenden Befehle ausführen

  • DevToolsSecurity --enable
  • sudo dscl . append /Groups/_developer GroupMembership $USER

Warum funktioniert das Debugging nicht?

Wenn Sie versuchen, eine Bibliothek oder ein Testprojekt zu debuggen, müssen Sie wahrscheinlich zusätzliche Schritte unternehmen, um sicherzustellen, dass Ihr Code ordnungsgemäß debuggt wird. Um eine Bibliothek zu debuggen, können Sie eine Konsolen- oder Webanwendung erstellen, die mit der Bibliothek interagiert. Für ein Testprojekt können Sie den Test Explorer verwenden, um Ihren Code effektiv zu debuggen.

Während des Debuggings werden meine Breakpoints nicht gebunden

Der Prozess, den Sie debuggen, ist nicht im Debug-Modus erstellt. Stellen Sie sicher, dass Sie ihn im Debug-Modus erstellen, bevor Sie den Prozess debuggen.

C#-Editor

Wie bekomme ich IntelliSense richtig zum Laufen?

Stellen Sie sicher, dass Sie ein Projekt oder eine Lösung geöffnet haben. Wenn Sie mehrere Lösungen haben, wird automatisch eine geöffnet oder Sie werden aufgefordert, eine zu öffnen. Suchen Sie dann im Einstellungs-Suchfeld nach "Trace" und stellen Sie den Dotnet > Server: in der Dropdown-Liste auf Trace ein. Diese Option bietet weitere Ausgabinformationen, die dem Entwicklungsteam bei der Diagnose des Problems helfen.

Set Dotnet Server to Trace

Nachdem Sie diese Änderung vorgenommen haben, laden Sie das Fenster neu, indem Sie die Befehlspalette öffnen (⇧⌘P (Windows, Linux Ctrl+Shift+P)), geben Sie "Fenster neu laden" ein und drücken Sie Enter. Überprüfen Sie nach dem Neuladen des Fensters das Projektprotokoll im Ausgabefenster (⇧⌘U (Windows Ctrl+Shift+U, Linux Ctrl+K Ctrl+H)) und wählen Sie Projekte aus der Dropdown-Liste aus. Dies zeigt alle Fehler im Zusammenhang mit dem nicht vollständig geladenen Projekt an. Kopieren Sie den gesamten Text im Ausgabefenster und melden Sie das Problem über VS Code, wobei Sie sicherstellen, dass Sie den kopierten Text einfügen.

Die C#-Erweiterung kann den Server nicht starten

Als Workaround können Sie die Erweiterung zur Erfassung der .NET-Laufzeit auf eine vorhandene .NET 7-Installation verweisen, indem Sie die Einstellung dotnetAcquisitionExtension.existingDotnetPath verwenden

{
  "dotnetAcquisitionExtension.existingDotnetPath": [
    {
      "extensionId": "msazuretools.azurerm-vscode-tools",
      "path": "C\\Program Files\\dotnet\\dotnet.exe"
    }
  ]
}

Ich habe zu viele oder zu wenige Diagnosen

Die C#-Erweiterung ermöglicht es Ihnen, verschiedene Einstellungen für die Hintergrundcodeanalyse zu konfigurieren. Um auf die Einstellungen zuzugreifen, gehen Sie zu Datei > Einstellungen > Einstellungen oder verwenden Sie die Tastenkombination (⌘, (Windows, Linux Ctrl+,)). Geben Sie in der Suchleiste "analysis" ein, um die Einstellungen im Zusammenhang mit der Codeanalyse einzugrenzen. Unter Run background code analysis for: (Hintergrundcodeanalyse ausführen für:) können Sie den Analyseumfang aus einem Dropdown-Menü auswählen. Die Standardeinstellung ist die Analyse offener Dateien, aber Sie können sie an die vollständige Lösung, keine oder offene Dokumente anpassen.

Configure Background Code Analysis

Sie können auch eine EditorConfig-Datei verwenden, um Diagnosen und Codeanalysen zu konfigurieren. Um mehr über EditorConfig zu erfahren, lesen Sie die Dokumentation.

Wenn Sie nicht genügend oder gar keine Diagnosen sehen, ist es möglich, dass Ihr Projekt nicht vollständig geladen wurde. Um zu prüfen, ob dies der Fall ist, lesen Sie den Abschnitt Wie bekomme ich IntelliSense richtig zum Laufen? Dort finden Sie Anweisungen, wie Sie überprüfen können, ob Ihr Projekt vollständig geladen ist.

Razor-Editor

Die meisten oder alle Blazor-Komponenten werden mit Warnungen angezeigt

Bevor Blazor-Komponenten erkannt werden können, muss C# Dev Kit Ihr Projekt erfolgreich laden. Zusätzlich benötigt der Razor-Sprachserver eine project.razor.vscode.bin-Datei, die generiert wird, um den Zustand Ihrer Projekte zu verstehen. Wenn diese Datei nicht generiert wird oder ohne Komponenten generiert wird, kann die Razor-Erfahrung beeinträchtigt sein.

Zur Verbesserung der Leistung verzögert die Erweiterung manchmal die Generierung oder das Laden dieser Datei, bis Sie Ihre erste .razor- oder .cshtml-Datei öffnen. Um sicherzustellen, dass keine Fehler im Lösungs-Explorer für das Projekt, das Sie verwenden möchten, vorhanden sind, überprüfen Sie diesen sorgfältig.

Wenn Ihr Projekt korrekt geladen wurde, überprüfen Sie, ob eine project.razor.vscode.bin-Datei im Ordner obj\Debug\<tfm> auf Ihrem Dateisystem vorhanden ist. Da es sich um eine Binärdatei handelt, ist es nicht einfach, den Inhalt der Datei direkt zu überprüfen, aber im Allgemeinen sollten die meisten Razor-Projekte zu einer Datei führen, die mindestens 150 KB groß ist. Wenn die Datei nur wenige Kilobyte groß ist, bedeutet dies, dass Tag-Helper und/oder Komponenten wahrscheinlich nicht richtig erkannt werden.

Um die Neugenerierung der Datei zu erzwingen, schließen Sie alle geöffneten .razor- oder .cshtml-Dateien, laden Sie das VS Code-Fenster neu und öffnen Sie nach dem erfolgreichen Laden des Projekts eine beliebige .razor- oder .cshtml-Datei, um den Neugenerierungsprozess auszulösen.

Zielplattformfehler werden in Razor-Dateien erwähnt

Der Razor-Sprachserver hat im Allgemeinen kein Konzept einer "Lösung", sondern lädt Projekte basierend auf der Anwesenheit einer project.razor.vscode.bin-Datei im obj\Debug\<tfm>-Ordner der Projekte. Manchmal können alte Dateien von nicht mehr verwendeten Zielplattformen zu Verwirrung führen, wodurch der Razor-Server glaubt, ein Projekt sei mehrfach adressiert oder dass einige Komponenten noch referenziert werden, obwohl dies nicht der Fall ist.

Um dieses Problem zu beheben, löschen Sie alte Ordner aus dem obj-Ordner oder löschen Sie alle Ordner. Laden Sie dann das VS Code-Fenster neu und öffnen Sie eine .razor-Datei. Dies sollte sicherstellen, dass neue JSON-Dateien generiert und alte Dateien entfernt werden.

IntelliCode

Ich erhalte keine Ganzzeilen-Vervollständigungen

Ganzzeilen-Vervollständigungen sind deaktiviert, wenn die GitHub Copilot-Erweiterung aktiviert ist, damit Sie die fortschrittlicheren KI-Vervollständigungs-Funktionen nutzen können. Sie können überprüfen, ob Copilot aktiviert ist, indem Sie prüfen, ob das Copilot-Logo unten rechts in VS Code vorhanden ist.

Hot Reload

Hot Reload-Symbol wird nach dem Start des Debugging nicht mehr angezeigt

Der Debugger startet eine Hot Reload-Sitzung nur, wenn die Option für Hot Reload in den Debugger-Einstellungen von C# Dev Kit aktiviert ist. Wenn die Option aktiviert ist, wird erwartet, dass das Hot Reload-Symbol während des Debugging in der Statusleiste angezeigt wird.

Hot Reload icon in the bottom bar

Sie können entweder auf das Hot Reload-Symbol klicken oder Diagnoseinformationen anzeigen, indem Sie das Ausgabefenster C# Hot Reload öffnen. Wenn Sie keines von beiden sehen, wird das Projekt möglicherweise nicht von der C# Dev Kit-Erweiterung unterstützt. Siehe Unterstützte Projekte und Szenarien für Hot Reload.

Welche Arten von Bearbeitungen werden mit Hot Reload unterstützt?

Siehe Unterstützte Code-Änderungen für eine Liste der unterstützten C#-Code-Änderungen mit Hot Reload.

© . This site is unofficial and not affiliated with Microsoft.