GNU/Linux >> Tutoriels Linux >  >> Linux

Prise en charge officielle du débogage à distance d'une application .NET Core Linux dans WSL2 à partir de Visual Studio sous Windows

J'ai déjà blogué sur le développement sur Docker avec les nouveaux outils de conteneur Visual Studio améliorés (et WSL2) et également sur le débogage à distance d'une application .NET Core Linux dans WSL2 à partir de Visual Studio sur Windows.

C'est du deuxième dont je parle aujourd'hui. Vous pouvez désormais exécuter la console .NET Core et les applications Web dans WSL2 et les déboguer directement à partir de Visual Studio 2019 !

De quoi avez-vous besoin ?

  • Outils .NET Core : https://get.dot.net
  • WSL 2 : https://aka.ms/wsl
    • Distribution Ubuntu ou Debian : https://aka.ms/wslstore
  • Visual Studio 2019
    • Débogage .NET Core avec l'extension WSL 2

Voici l'expérience dans Visual Studio 2019 lorsque l'extension est installée. Cela "fonctionne simplement" et il est très facile de basculer entre l'exécution sur Windows (sous IIS ou le serveur Web Kestrel ou sous Kestrel sous votre distribution Linux par défaut.

Vérifiez ceci, vous pouvez voir que .NET Core, du point de vue Linux/WSL 2, est chargé à partir de /usr/share/dotnet/shared mais ma source reste sur mon lecteur /mnt/d (mon Windows D :) et débogage Just Works.

Vous remarquerez également que nous fonctionnons sur https://localhost:5001 et que localhost et les ports du point de vue Windows correspondent à localhost et pointent (via un tunnel local transparent) vers WSL 2.

Comment fonctionne le certificat SSL si le serveur Web Linux Kestrel de WSL 2 le sert ?

Vous pouvez voir qu'il existe un lien symbolique entre mon dossier WSL ~/.aspnet et mon profil local dans Windows afin que cette application partage les certificats SSL et que le même certificat soit servi avec Kestrel sous Windows et Kestrel sous 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$

J'ai cassé cette ligne avec le lien symbolique -> le long de 3 lignes pour qu'elle ne se termine pas sur ce blog.

Vous pouvez maintenant exécuter et déboguer des applications .NET Core sur Windows et Linux en utilisant à la fois VS Code et Visual Studio 2019 ! J'utilise l'édition communautaire gratuite de Visual Studio 2019 et cela fonctionne très bien. Cela m'aide à économiser de l'argent car j'ai déplacé mon site de podcast vers Linux dans Azure et cela permet à mon développement local de mieux correspondre à ma réalité cloud. Essayez-le !

Parrain : Centralisez et recherchez les journaux d'application structurés pour diagnostiquer les problèmes en toute confiance - encore plus rapidement et plus facilement avec Seq 2020.1 !


Linux
  1. Comment configurer Qt pour la compilation croisée de Linux vers la cible Windows ?

  2. Comment supprimer les versions précédentes de .NET Core de Linux (CentOS 7.1)

  3. NuGet pour .NET Core sous Linux

  4. Copier le fichier de Linux vers le partage Windows avec C # (noyau .NET)

  5. Existe-t-il F# Interactive pour Linux sur .NET Core, sans utiliser Mono ?

Classic Path.DirectorySeparatorChar gotchas lors du passage de .NET Core sous Windows à Linux

Prise en charge officielle du débogage à distance d'une application .NET Core Linux dans WSL2 à partir de Visual Studio sous Windows

Déplacement d'un ASP.NET Core d'Azure App Service sur Windows vers Linux en testant d'abord dans WSL et Docker

Débogage à distance d'une application .NET Core Linux dans WSL2 à partir de Visual Studio sous Windows

Écriture et débogage d'applications Linux C++ à partir de Visual Studio à l'aide du sous-système Windows pour Linux

Comment compiler l'application .NET Core pour Linux sur une machine Windows