GNU/Linux >> Linux Esercitazione >  >> Linux

Supporto ufficiale per il debug remoto di un'app Linux .NET Core in WSL2 da Visual Studio su Windows

Ho già scritto sul blog sullo sviluppo su Docker con i nuovi e migliorati Visual Studio Container Tools (e WSL2) e anche sul debug remoto di un'app Linux .NET Core in WSL2 da Visual Studio su Windows.

È il secondo di cui parlo oggi. Ora puoi eseguire la console .NET Core e le app Web in WSL2 ed eseguirne il debug direttamente da Visual Studio 2019!

Di cosa hai bisogno?

  • Strumenti .NET Core: https://get.dot.net
  • WSL 2: https://aka.ms/wsl
    • Distribuzione Ubuntu o Debian: https://aka.ms/wslstore
  • Studio visivo 2019
    • Debug di .NET Core con estensione WSL 2

Ecco l'esperienza in Visual Studio 2019 quando l'estensione è installata. "Funziona e basta" e rende super facile passare dall'esecuzione su Windows (sotto IIS o il server web Kestrel o sotto Kestrel sotto la tua distribuzione Linux predefinita.

Dai un'occhiata, puoi vedere che .NET Core, dal punto di vista Linux/WSL 2, è caricato da /usr/share/dotnet/shared ma la mia fonte rimane sul mio disco /mnt/d (il mio Windows D:) e debugging Just Works.

Noterai anche che stiamo girando su https://localhost:5001 e che localhost e le porte dal punto di vista di Windows vengono mappati su localhost e punti (tramite un tunnel locale trasparente) su WSL 2.

Come funziona il certificato SSL se il server Web Linux Kestrel di WSL 2 lo sta servendo?

Puoi vedere che esiste un collegamento simbolico tra la mia cartella WSL ~/.aspnet e il mio profilo locale in Windows in modo che questa app condivida i certificati SSL e che lo stesso certificato sia servito con Kestrel su Windows e Kestrel su Linux.

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$

Ho interrotto quella linea con il collegamento simbolico -> lungo 3 righe in modo che non si avvolgesse in questo blog.

Ora puoi eseguire ed eseguire il debug di app .NET Core su Windows e Linux utilizzando sia VS Code che Visual Studio 2019! Sto usando la Community Edition gratuita di Visual Studio 2019 e funziona benissimo. Questo mi aiuta a risparmiare denaro poiché ho spostato il mio sito Podcast su Linux in Azure e fa in modo che il mio sviluppo locale corrisponda meglio alla realtà del cloud. Provalo!

Sponsor: Centralizza e cerca nei log delle applicazioni strutturati per diagnosticare con sicurezza i problemi, ancora più velocemente e facilmente con Seq 2020.1!


Linux
  1. Spiegazione del sottosistema Windows per Linux, WSL e WSL2

  2. Come eseguire il desktop remoto da Windows a desktop Linux utilizzando XRDP

  3. Visual Basic è supportato da .NET Core in Linux?

  4. NuGet per .NET Core in Linux

  5. C'è F# Interactive per Linux in .NET Core, senza usare Mono?

Il classico Path.DirectorySeparatorChar ottiene risultati quando si passa da .NET Core su Windows a Linux

Supporto ufficiale per il debug remoto di un'app Linux .NET Core in WSL2 da Visual Studio su Windows

Spostamento di un ASP.NET Core dal servizio app di Azure in Windows a Linux eseguendo prima il test in WSL e Docker

Debug remoto di un'app Linux .NET Core in WSL2 da Visual Studio in Windows

Scrittura e debug di applicazioni C++ Linux da Visual Studio usando il sottosistema Windows per Linux

Come compilare l'app .NET Core per Linux in un computer Windows