Debug aplikasi .NET Core Anda di WSL 2 dengan Visual Studio

Apakah Anda pengembang .NET Core yang senang bekerja di Windows dan Visual Studio, tetapi perlu menguji aplikasi Anda di Linux? Apakah Anda pengembang lintas platform yang mencari cara mudah untuk menguji lebih banyak lingkungan target? Apakah Anda sudah menemukan manfaat WSL 2, tetapi membutuhkan cara untuk mengintegrasikannya ke dalam lingkaran dalam Anda? Saya punya ekstensi untuk Anda! Ekstensi .NET Core Debugging dengan WSL 2 - Pratinjau memberi Anda kemampuan untuk menjalankan dan men-debug aplikasi .NET Core di WSL 2 tanpa meninggalkan Visual Studio.







Kapan Anda harus men-debug di WSL 2?



Untuk pengguna Windows .NET yang berpusat pada Linux, WSL 2 berada di tempat yang tepat antara realisme produksi dan kinerja. Dalam Visual Studio, Anda sudah dapat men-debug di lingkungan Linux jarak jauh menggunakan Remote Debugger atau dengan wadah menggunakan Alat Kontainer . Ketika realisme produksi menjadi perhatian utama Anda, Anda harus menggunakan salah satunya. Ketika loop dalam yang sederhana dan cepat lebih penting, WSL 2 adalah pilihan yang bagus.



Anda tidak harus memilih satu saja! Anda dapat memiliki profil proses untuk Docker dan WSL 2 di proyek yang sama dan memilih salah satu yang sesuai untuk proses tertentu. Dan setelah aplikasi Anda diterapkan, Anda selalu dapat menggunakan debugger jarak jauh untuk menyambungkannya jika terjadi masalah.


Memulai Debugging Inti .NET dengan WSL 2 - Pratinjau



Pastikan untuk menginstal WSL 2 dan distribusi pilihan Anda sebelum menggunakan ekstensi . Setelah menginstal ekstensi, saat Anda membuka aplikasi web ASP.NET Core atau aplikasi konsol .NET Core di Visual Studio, Anda akan melihat profil peluncuran baru bernama WSL 2:







Memilih profil ini akan menambahkannya ke file launchSettings.json dan akan terlihat seperti ini:



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


Setelah memilih profil baru, ekstensi memeriksa apakah distribusi WSL 2 Anda dikonfigurasi untuk menjalankan aplikasi .NET Core dan membantu Anda menginstal dependensi yang hilang. Setelah semua dependensi diinstal, Anda siap untuk melakukan debug di WSL 2. Mulai debug seperti biasa dan aplikasi Anda sekarang akan berjalan pada distribusi default WSL 2. Cara mudah untuk memastikan Anda menjalankan Linux adalah dengan memeriksa nilai Environment.OSVersion.



Catatan. Hanya Ubuntu dan Debian yang telah diuji dan didukung. Distribusi lain yang didukung oleh .NET Core seharusnya berfungsi, tetapi memerlukan penginstalan manual .NET Core Runtime dan Curl.


Menggunakan distribusi tertentu



Secara default, profil startup WSL 2 akan menggunakan set distribusi default di wsl.exe. Jika Anda ingin profil peluncuran Anda menargetkan distribusi tertentu, terlepas dari default-nya, Anda dapat mengubah profil peluncuran Anda. Misalnya, jika Anda men-debug aplikasi web dan ingin mengujinya di Ubuntu 20.04, profil startup Anda akan terlihat seperti ini:



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


Menargetkan banyak distribusi



Lebih jauh lagi, jika Anda sedang mengerjakan aplikasi yang perlu dijalankan pada banyak distribusi dan Anda ingin cara cepat untuk menguji masing-masing, Anda mungkin memiliki beberapa profil peluncuran. Misalnya, jika Anda perlu menguji aplikasi konsol di Debian, Ubuntu 18.04, dan Ubuntu 20.04, Anda dapat menggunakan profil startup berikut:



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


Dengan profil peluncuran ini, Anda dapat dengan mudah beralih di antara distribusi target tanpa meninggalkan lingkungan Visual Studio yang nyaman:







Cobalah hari ini!



Jadi, jika Anda senang bekerja di Visual Studio tetapi perlu menguji aplikasi Anda di Linux, buka Visual Studio Marketplace untuk menginstal ekstensi hari ini. Harap gunakan pasar untuk mengajukan pertanyaan atau umpan balik, dan untuk memberi tahu kami betapa berguna ekstensi ini.



All Articles