GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Offizieller Support für das Remotedebuggen einer .NET Core-Linux-App in WSL2 von Visual Studio unter Windows

Ich habe bereits über das Entwickeln auf Docker mit den neuen und verbesserten Visual Studio-Containertools (und WSL2) und auch das Remotedebuggen einer .NET Core-Linux-App in WSL2 von Visual Studio unter Windows aus gebloggt.

Es ist die zweite, über die ich heute spreche. Sie können jetzt die .NET Core-Konsole und Web-Apps in WSL2 ausführen und sie direkt von Visual Studio 2019 aus debuggen!

Was brauchen Sie?

  • .NET Core-Tools: https://get.dot.net
  • WSL 2: https://aka.ms/wsl
    • Ubuntu- oder Debian-Distribution: https://aka.ms/wslstore
  • Visual Studio 2019
    • .NET Core-Debugging mit WSL 2-Erweiterung

Hier ist die Erfahrung in Visual Studio 2019, wenn die Erweiterung installiert ist. Es "funktioniert einfach" und macht es super einfach, zwischen der Ausführung unter Windows (unter IIS oder dem Kestrel-Webserver oder unter Kestrel unter Ihrer Standard-Linux-Distribution) zu wechseln.

Schauen Sie sich das an, Sie können sehen, dass .NET Core aus der Linux/WSL 2-Perspektive aus /usr/share/dotnet/shared geladen wird, aber meine Quelle bleibt auf meinem /mnt/d-Laufwerk (mein Windows D:) und Debuggen funktioniert einfach.

Sie werden auch feststellen, dass wir auf https://localhost:5001 ausgeführt werden und dass localhost und Ports aus Windows-Sicht auf localhost abgebildet sind und (über einen transparenten lokalen Tunnel) auf WSL 2 verweisen.

Wie funktioniert das SSL-Zertifikat, wenn der Linux Kestrel-Webserver von WSL 2 es bereitstellt?

Sie können sehen, dass es eine symbolische Verknüpfung zwischen meinem WSL ~/.aspnet-Ordner und meinem lokalen Profil in Windows gibt, sodass diese App SSL-Zertifikate gemeinsam nutzt und dass dasselbe Zertifikat mit Kestrel unter Windows und Kestrel unter Linux bereitgestellt wird.

scott@IRONHEART:~$ cd .aspnet
scott@IRONHEART:~/.aspnet$ ls
DataProtection-Keys https
scott@IRONHEART:~/.aspnet$ cd https/
scott@IRONHEART:~/.aspnet/https$ ls
hanselminutes.core.pfx
scott@IRONHEART:~/.aspnet/https$ ls -alogF
total 12
drwxr-xr-x 2 4096 Jun 23 17:02 ./
drwxr-xr-x 4 4096 Jun 23 17:02 ../
lrwxrwxrwx 1 71 Jun 23 17:02 hanselminutes.core.pfx
->
/mnt/c/Users/scott/AppData/Roaming/ASP.NET/Https/hanselminutes.core.pfx*
scott@IRONHEART:~/.aspnet/https$

Ich habe diese Zeile mit dem symbolischen Link -> entlang 3 Zeilen gebrochen, damit es nicht in diesem Blog umbrochen wird.

Jetzt können Sie .NET Core-Apps unter Windows und Linux mit VS Code und ausführen und debuggen Visual Studio 2019! Ich verwende die kostenlose Community Edition von Visual Studio 2019 und sie funktioniert hervorragend. Dies hilft mir, Geld zu sparen, da ich meine Podcast-Site auf Linux in Azure verschoben habe, und passt meine lokale Entwicklung besser an meine Cloud-Realität an. Probieren Sie es aus!

Sponsor: Zentralisieren und durchsuchen Sie strukturierte Anwendungsprotokolle, um Probleme zuverlässig zu diagnostizieren – noch schneller und einfacher mit Seq 2020.1!


Linux
  1. Windows-Subsystem für Linux erklärt, WSL &WSL2

  2. Remote-Desktop von Windows auf Linux-Desktop mit XRDP

  3. Visual Basic .Net unter Linux

  4. Wie konfiguriere ich Qt für die Cross-Kompilierung von Linux auf das Windows-Ziel?

  5. Wird Visual Basic von .NET Core unter Linux unterstützt?

Klassische Path.DirectorySeparatorChar-Probleme beim Wechsel von .NET Core unter Windows zu Linux

Offizieller Support für das Remotedebuggen einer .NET Core-Linux-App in WSL2 von Visual Studio unter Windows

Verschieben eines ASP.NET Core von Azure App Service unter Windows zu Linux, indem zuerst in WSL und Docker getestet wird

Remotedebuggen einer .NET Core-Linux-App in WSL2 von Visual Studio unter Windows

Schreiben und Debuggen von Linux-C++-Anwendungen aus Visual Studio mit dem Windows-Subsystem für Linux

So kompilieren Sie die .NET Core-App für Linux auf einem Windows-Computer