Quand devez-vous déboguer dans WSL 2?
Pour un utilisateur Windows .NET centré sur Linux, WSL 2 est à la bonne place entre réalisme de production et performances. Dans Visual Studio, vous pouvez déjà déboguer dans un environnement Linux distant à l'aide du débogueur distant ou avec des conteneurs à l'aide des outils de conteneur . Lorsque le réalisme de la production est votre principale préoccupation, vous devez en utiliser une. Lorsqu'une boucle interne simple et rapide est plus importante, WSL 2 est une excellente option.
Vous n'avez pas Ă en choisir un seul! Vous pouvez avoir un profil d'exĂ©cution pour Docker et WSL 2 dans le mĂȘme projet et choisir celui qui convient Ă une exĂ©cution particuliĂšre. Et une fois votre application dĂ©ployĂ©e, vous pouvez toujours utiliser le dĂ©bogueur distant pour vous y connecter en cas de problĂšme.
Premiers pas avec le débogage .NET Core avec WSL 2 - Aperçu
Assurez-vous d'installer WSL 2 et la distribution de votre choix avant d'utiliser l'extension . AprÚs avoir installé l'extension, lorsque vous ouvrez une application Web ASP.NET Core ou une application console .NET Core dans Visual Studio, vous verrez un nouveau profil de lancement nommé WSL 2: la
sélection de ce profil l'ajoutera au fichier launchSettings.json et ressemblera à ceci:
"WSL 2": {
"commandName": "WSL2",
"launchBrowser": true,
"launchUrl": "https://localhost:5001",
"environmentVariables": {
"ASPNETCORE_URLS": "https://localhost:5001;http://localhost:5000",
"ASPNETCORE_ENVIRONMENT": "Development"
},
"distributionName": ""
}
AprĂšs avoir choisi un nouveau profil, l'extension vĂ©rifie si votre distribution WSL 2 est configurĂ©e pour exĂ©cuter des applications .NET Core et vous aide Ă installer les dĂ©pendances manquantes. Une fois toutes les dĂ©pendances installĂ©es, vous ĂȘtes prĂȘt Ă dĂ©boguer dans WSL 2. DĂ©marrez simplement le dĂ©bogage comme d'habitude et votre application s'exĂ©cutera maintenant sur la distribution WSL 2 par dĂ©faut. Un moyen simple de vous assurer que vous utilisez Linux est de vĂ©rifier la valeur Environment.OSVersion.
Remarque. Seuls Ubuntu et Debian ont été testés et pris en charge. Les autres distributions prises en charge par .NET Core devraient fonctionner, mais nécessitent une installation manuelle de .NET Core Runtime et Curl.
Utiliser une distribution spécifique
Par défaut, le profil de démarrage WSL 2 utilisera la distribution par défaut définie dans wsl.exe. Si vous souhaitez que votre profil de lancement cible une distribution spécifique, quelle que soit la valeur par défaut, vous pouvez modifier votre profil de lancement. Par exemple, si vous déboguez une application Web et que vous souhaitez la tester sur Ubuntu 20.04, votre profil de démarrage ressemblerait à ceci:
"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"
}
Cibler plusieurs distributions
Pour aller encore plus loin, si vous travaillez sur une application qui doit s'exécuter sur plusieurs distributions et que vous souhaitez un moyen rapide de tester chacune d'elles, vous pouvez avoir plusieurs profils de lancement. Par exemple, si vous avez besoin de tester une application console sur Debian, Ubuntu 18.04 et Ubuntu 20.04, vous pouvez utiliser les profils de démarrage suivants:
"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"
}
Avec ces profils de lancement, vous pouvez facilement basculer entre les distributions cibles sans quitter l'environnement confortable de Visual Studio:
Essayez-le aujourd'hui!
Donc, si vous aimez travailler dans Visual Studio mais que vous devez tester votre application sous Linux, accédez à Visual Studio Marketplace pour installer l'extension dÚs aujourd'hui. Veuillez utiliser le marché pour poser des questions ou des commentaires, et pour nous faire savoir à quel point cette extension est utile.