Debuggen Sie Ihre .NET Core-Apps in WSL 2 mit Visual Studio

Sind Sie ein .NET Core-Entwickler, der gerne unter Windows und Visual Studio arbeitet, aber Ihre Anwendung unter Linux testen muss? Sind Sie ein plattformübergreifender Entwickler, der nach einer einfachen Möglichkeit sucht, mehr Zielumgebungen zu testen? Haben Sie die Vorteile von WSL 2 bereits entdeckt, benötigen aber eine Möglichkeit, es in Ihre innere Schleife zu integrieren? Ich habe eine Erweiterung für Sie! Mit der .NET Core-Debugging- Erweiterung mit WSL 2 - Vorschau können Sie .NET Core-Anwendungen in WSL 2 ausführen und debuggen, ohne Visual Studio zu verlassen.







Wann sollten Sie in WSL 2 debuggen?



Für einen Linux-zentrierten Windows .NET-Benutzer ist WSL 2 der richtige Ort zwischen Produktionsrealismus und Leistung. In Visual Studio können Sie bereits in einer Remote-Linux-Umgebung mit dem Remote-Debugger oder mit Containern mithilfe der Container-Tools debuggen . Wenn Produktionsrealismus Ihr Hauptanliegen ist, sollten Sie eines davon verwenden. Wenn eine einfache und schnelle innere Schleife wichtiger ist, ist WSL 2 eine großartige Option.



Sie müssen nicht nur einen auswählen! Sie können ein Laufprofil für Docker und WSL 2 im selben Projekt haben und das für einen bestimmten Lauf geeignete auswählen. Sobald Ihre Anwendung bereitgestellt ist, können Sie im Falle eines Problems jederzeit den Remote-Debugger verwenden, um eine Verbindung zu ihr herzustellen.


Erste Schritte mit .NET Core Debugging mit WSL 2 - Vorschau



Stellen Sie sicher, dass Sie WSL 2 und die Distribution Ihrer Wahl installieren, bevor Sie die Erweiterung verwenden . Wenn Sie nach der Installation der Erweiterung eine ASP.NET Core-Webanwendung oder eine .NET Core-Konsolenanwendung in Visual Studio öffnen, wird ein neues Startprofil mit dem Namen WSL 2







angezeigt. Wenn Sie dieses Profil auswählen, wird es der Datei launchSettings.json hinzugefügt und sieht folgendermaßen aus:



"WSL 2": {
    "commandName": "WSL2",
    "launchBrowser": true,
    "launchUrl": "https://localhost:5001",
    "environmentVariables": {
        "ASPNETCORE_URLS": "https://localhost:5001;http://localhost:5000",
        "ASPNETCORE_ENVIRONMENT": "Development"
    },
    "distributionName": ""
}


Nach Auswahl eines neuen Profils überprüft die Erweiterung, ob Ihre WSL 2-Distribution für die Ausführung von .NET Core-Anwendungen konfiguriert ist, und hilft Ihnen bei der Installation fehlender Abhängigkeiten. Sobald alle Abhängigkeiten installiert sind, können Sie in WSL 2 debuggen. Starten Sie einfach wie gewohnt mit dem Debuggen, und Ihre Anwendung wird jetzt auf der Standard-WSL 2-Distribution ausgeführt. Eine einfache Möglichkeit, um sicherzustellen, dass Sie Linux ausführen, besteht darin, den Wert Environment.OSVersion zu überprüfen.



Hinweis. Nur Ubuntu und Debian wurden getestet und unterstützt. Andere von .NET Core unterstützte Distributionen sollten funktionieren, erfordern jedoch die manuelle Installation von .NET Core Runtime und Curl.


Verwenden einer bestimmten Distribution



Standardmäßig verwendet das WSL 2-Startprofil die in wsl.exe festgelegte Standardverteilung. Wenn Sie möchten, dass Ihr Startprofil unabhängig von der Standardeinstellung auf eine bestimmte Distribution abzielt, können Sie Ihr Startprofil ändern. Wenn Sie beispielsweise eine Webanwendung debuggen und unter Ubuntu 20.04 testen möchten, sieht Ihr Startprofil folgendermaßen aus:



"WSL 2": {
    "commandName": "WSL2",
    "launchBrowser": true,
    "launchUrl": "https://localhost:5001",
    "environmentVariables": {
        "ASPNETCORE_URLS": "https://localhost:5001;http://localhost:5000",
        "ASPNETCORE_ENVIRONMENT": "Development"
    },
    "distributionName": "Ubuntu-20.04"
}


Targeting mehrerer Distributionen



Wenn Sie an einer Anwendung arbeiten, die auf mehreren Distributionen ausgeführt werden muss, und Sie eine schnelle Möglichkeit zum Testen jeder einzelnen Distribution wünschen, verfügen Sie möglicherweise über mehrere Startprofile. Wenn Sie beispielsweise eine Konsolenanwendung unter Debian, Ubuntu 18.04 und Ubuntu 20.04 testen müssen, können Sie die folgenden Startprofile verwenden:



"WSL 2 : Debian": {
    "commandName": "WSL2",
    "distributionName": "Debian"
},
"WSL 2 : Ubuntu 18.04": {
    "commandName": "WSL2",
    "distributionName": "Ubuntu-18.04"
},
"WSL 2 : Ubuntu 20.04": {
    "commandName": "WSL2",
    "distributionName": "Ubuntu-20.04"
}


Mit diesen Startprofilen können Sie problemlos zwischen Zielverteilungen wechseln, ohne die komfortable Visual Studio-Umgebung zu verlassen:







Probieren Sie es noch heute aus!



Wenn Sie also gerne in Visual Studio arbeiten, Ihre Anwendung jedoch unter Linux testen müssen, rufen Sie den Visual Studio Marketplace auf, um die Erweiterung noch heute zu installieren. Bitte nutzen Sie den Marktplatz, um Fragen oder Feedback zu stellen und uns mitzuteilen, wie nützlich diese Erweiterung ist.



All Articles