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!