VisualStudioを使用してWSL2で.NETCoreアプリをデバッグする

あなたはWindowsとVisualStudioでの作業を楽しんでいるが、Linuxでアプリケーションをテストする必要がある.NET Core開発者ですか?より多くのターゲット環境をテストする簡単な方法を探しているクロスプラットフォーム開発者ですか?WSL 2の利点をすでに発見しましたが、それを内部ループに統合する方法が必要ですか?私はあなたのために拡張機能を持っています!WSL2を使用した.NETCore Debugging Extension-プレビューを使用すると、Visual Studioを離れることなく、WSL2で.NETCoreアプリケーションを実行およびデバッグできます。







WSL 2でいつデバッグする必要がありますか?



Linux中心のWindows.NETユーザーにとって、WSL2はプロダクションのリアリズムとパフォーマンスの間の適切な場所にあります。 Visual Studioでは、Remote Debuggerを使用してリモートLinux環境で、またはContainerToolsを使用してコンテナですでにデバッグできます。プロダクションのリアリズムが主な関心事である場合は、これらのいずれかを使用する必要があります。シンプルで高速な内部ループがより重要な場合、WSL2は優れたオプションです。



1つだけ選択する必要はありません!同じプロジェクトにDockerとWSL2の実行プロファイルを設定し、特定の実行に適したプロファイルを選択できます。また、アプリケーションがデプロイされると、問題が発生した場合にいつでもリモートデバッガーを使用してアプリケーションに接続できます。


WSL2を使用した.NETコアデバッグ入門-プレビュー



拡張機能を使用する前に必ずWSL2と選択したディストリビューションをインストールしてください拡張機能をインストールした後







、VisualStudioでASP.NETCoreWebアプリまたは.NETCoreコンソールアプリを開くと、WSL 2という名前の新しい起動プロファイルが表示されます。このプロファイルを選択すると、launchSettings.jsonファイルに追加され、次のようになります。



"WSL 2": {
    "commandName": "WSL2",
    "launchBrowser": true,
    "launchUrl": "https://localhost:5001",
    "environmentVariables": {
        "ASPNETCORE_URLS": "https://localhost:5001;http://localhost:5000",
        "ASPNETCORE_ENVIRONMENT": "Development"
    },
    "distributionName": ""
}


新しいプロファイルを選択した後、拡張機能は、WSL2ディストリビューションが.NETCoreアプリケーションを実行するように構成されているかどうかを確認し、不足している依存関係をインストールするのに役立ちます。すべての依存関係がインストールされると、WSL 2でデバッグする準備が整います。通常どおりにデバッグを開始するだけで、アプリケーションはデフォルトのWSL2ディストリビューションで実行されます。Linuxを実行していることを確認する簡単な方法は、Environment.OSVersion値を確認​​することです。



注意。UbuntuとDebianのみがテストされ、サポートされています。.NET Coreでサポートされている他のディストリビューションは機能するはずですが、.NET CoreRuntimeとCurlを手動でインストールする必要があります。


特定のディストリビューションを使用する



デフォルトでは、WSL2スタートアッププロファイルはwsl.exeで設定されたデフォルトのディストリビューションを使用します。デフォルトに関係なく、起動プロファイルで特定のディストリビューションをターゲットにする場合は、起動プロファイルを変更できます。たとえば、Webアプリケーションをデバッグしていて、Ubuntu 20.04でテストする場合、起動プロファイルは次のようになります。



"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"
}


複数のディストリビューションをターゲットにする



さらに進んで、複数のディストリビューションで実行する必要があるアプリケーションで作業していて、それぞれをすばやくテストする方法が必要な場合は、複数の起動プロファイルがある可能性があります。たとえば、Debian、Ubuntu 18.04、およびUbuntu 20.04でコンソールアプリケーションをテストする必要がある場合は、次の起動プロファイルを使用できます。



"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"
}


これらの起動プロファイルを使用すると、快適なVisual Studio環境を離れることなく、ターゲットディストリビューションを簡単に切り替えることができます。







今日それを試してみてください!



したがって、Visual Studioでの作業を楽しんでいて、Linuxでアプリケーションをテストする必要がある場合は、Visual StudioMarketplaceアクセスして拡張機能を今すぐインストールしてください。マーケットプレイスを使用して質問やフィードバックを行い、この拡張機能の有用性をお知らせください。



All Articles