dotnet run
Artikel ini berlaku untuk: ✔️ .NET Core 3.1 SDK dan versi yang lebih baru
dotnet run
- Menjalankan kode sumber tanpa perintah kompilasi atau peluncuran eksplisit.
dotnet run [-a|--arch <ARCHITECTURE>] [-c|--configuration <CONFIGURATION>]
[-f|--framework <FRAMEWORK>] [--force] [--interactive]
[--launch-profile <NAME>] [--no-build]
[--no-dependencies] [--no-launch-profile] [--no-restore]
[--os <OS>] [--project <PATH>] [-r|--runtime <RUNTIME_IDENTIFIER>]
[--tl:[auto|on|off]] [-v|--verbosity <LEVEL>]
[[--] [application arguments]]
dotnet run -h|--help
Perintah ini dotnet run
menyediakan opsi yang nyaman untuk menjalankan aplikasi Anda dari kode sumber dengan satu perintah. Ini berguna untuk pengembangan iteratif cepat dari baris perintah. Perintah bergantung pada dotnet build
perintah untuk membangun kode. Persyaratan apa pun untuk build juga berlaku dotnet run
.
Catatan
dotnet run
tidak menghormati argumen seperti /property:property=value
, yang dihormati oleh dotnet build
.
File output ditulis ke lokasi default, yaitu bin/<configuration>/<target>
. Misalnya jika Anda memiliki netcoreapp2.1
aplikasi dan Anda menjalankan dotnet run
, output ditempatkan di bin/Debug/netcoreapp2.1
. File ditimpa sesuai kebutuhan. File sementara ditempatkan di obj
direktori.
Jika proyek menentukan beberapa kerangka kerja, menjalankan dotnet run
menghasilkan kesalahan kecuali -f|--framework <FRAMEWORK>
opsi digunakan untuk menentukan kerangka kerja.
Perintah dotnet run
digunakan dalam konteks proyek, bukan rakitan yang dibangun. Jika Anda mencoba menjalankan DLL aplikasi yang bergantung pada kerangka kerja, Anda harus menggunakan dotnet tanpa perintah. Misalnya, untuk menjalankan myapp.dll
, gunakan:
dotnet myapp.dll
Untuk informasi selengkapnya tentang dotnet
driver, lihat topik .NET Command Line Tools (CLI).
Untuk menjalankan aplikasi, dotnet run
perintah menyelesaikan dependensi aplikasi yang berada di luar runtime bersama dari cache NuGet. Karena menggunakan dependensi cache, tidak disarankan untuk digunakan dotnet run
untuk menjalankan aplikasi dalam produksi. Sebagai gantinya, buat penyebaran menggunakan dotnet publish
perintah dan sebarkan output yang diterbitkan.
Anda tidak harus menjalankan dotnet restore
karena dijalankan secara implisit oleh semua perintah yang memerlukan terjadinya pemulihan, seperti dotnet new
, dotnet build
, dotnet run
, dotnet test
, dotnet publish
, dan dotnet pack
. Untuk menonaktifkan pemulihan implisit, gunakan opsi --no-restore
.
Perintah dotnet restore
masih berguna dalam skenario tertentu di mana pemulihan secara eksplisit masuk akal, seperti pembangunan integrasi berkelanjutan di Azure DevOps Services atau dalam sistem pembangunan yang perlu secara eksplisit mengontrol saat pemulihan terjadi.
Untuk informasi tentang cara mengelola umpan NuGet, lihat dotnet restore
dokumentasi.
Perintah ini mendukung opsi dotnet restore
ketika diteruskan dalam bentuk panjang (misalnya, --source
). Opsi pendek, seperti -s
, tidak didukung.
Saat Anda menjalankan perintah ini, pengunduhan latar belakang asinkron manifes iklan untuk beban kerja akan dimulai. Jika unduhan masih berjalan saat perintah ini selesai, unduhan akan dihentikan. Untuk informasi selengkapnya, lihat Manifes iklan.
--
Memisahkan argumen ke
dotnet run
dari argumen untuk aplikasi yang dijalankan. Semua argumen setelah pemisah ini diteruskan ke eksekusi aplikasi.
-a|--arch <ARCHITECTURE>
Menentukan arsitektur target. Hal ini adalah sintaks singkat untuk mengatur Pengidentifikasi Runtime (RID), di mana nilai yang disediakan digabung dengan RID default. Misalnya, pada komputer
win-x64
, menentukan--arch x86
akan mengatur RID kewin-x86
. Jika Anda menggunakan opsi ini, jangan gunakan opsi-r|--runtime
. Tersedia sejak .NET 6 Preview 7.
-c|--configuration <CONFIGURATION>
Menentukan konfigurasi build. Pengaturan default untuk sebagian besar proyek adalah
Debug
, tetapi Anda dapat mengambil alih pengaturan konfigurasi build di proyek Anda.
-f|--framework <FRAMEWORK>
Membangun dan menjalankan aplikasi menggunakan kerangka kerja yang ditentukan. Kerangka kerja harus ditentukan dalam file proyek.
--force
Memaksa semua dependensi untuk diselesaikan bahkan jika pemulihan terakhir berhasil. Menentukan bendera ini sama dengan menghapus file project.assets.json.
-?|-h|--help
Mencetak deskripsi cara menggunakan perintah.
--interactive
Memungkinkan perintah berhenti dan menunggu input atau tindakan pengguna. Misalnya, untuk menyelesaikan autentikasi. Tersedia sejak SDK .NET Core 3.0.
--launch-profile <NAME>
Nama profil peluncuran (jika ada) untuk digunakan saat meluncurkan aplikasi. Profil peluncuran ditentukan dalam file launchSettings.json dan biasanya disebut
Development
, ,Staging
danProduction
. Untuk informasi selengkapnya, lihat Bekerja dengan beberapa lingkungan.--no-build
Tidak membangun proyek sebelum berjalan. Ini juga secara implisit
--no-restore
mengatur bendera.--no-dependencies
Saat memulihkan proyek dengan referensi project-to-project (P2P), memulihkan proyek root dan bukan referensi.
--no-launch-profile
Tidak mencoba menggunakan launchSettings.json untuk mengonfigurasi aplikasi.
--no-restore
Tidak menjalankan pemulihan implisit saat menjalankan perintah.
--os <OS>
Menentukan sistem operasi (OS) target. Hal ini adalah sintaks singkat untuk mengatur Pengidentifikasi Runtime (RID), di mana nilai yang disediakan digabung dengan RID default. Misalnya, pada komputer
win-x64
, menentukan--os linux
akan mengatur RID kelinux-x64
. Jika Anda menggunakan opsi ini, jangan gunakan opsi-r|--runtime
. Tersedia sejak .NET 6.
--project <PATH>
Menentukan jalur file proyek yang akan dijalankan (nama folder atau jalur lengkap). Jika tidak ditentukan, defaultnya ke direktori saat ini.
Singkatan
-p
untuk--project
tidak digunakan lagi mulai dari .NET 6 SDK. Untuk waktu terbatas mulai dari .NET 6 RC1 SDK,-p
masih dapat digunakan meskipun--project
peringatan penghentian. Jika argumen yang disediakan untuk opsi tidak berisi=
, perintah akan menerima-p
sebagai singkatan--project
dari . Jika tidak, perintah mengasumsikan bahwa-p
singkatan dari--property
. Penggunaan-p
fleksibel untuk--project
ini akan di-fase di .NET 7.--property:<NAME>=<VALUE>
Mengatur satu atau beberapa properti MSBuild. Tentukan beberapa properti yang dibatasi oleh titik koma atau dengan mengulangi opsi:
--property:<NAME1>=<VALUE1>;<NAME2>=<VALUE2> --property:<NAME1>=<VALUE1> --property:<NAME2>=<VALUE2>
Formulir
-p
pendek dapat digunakan untuk--property
. Jika argumen yang disediakan untuk opsi berisi=
,-p
diterima sebagai singkatan dari--property
. Jika tidak, perintah mengasumsikan bahwa-p
singkatan dari--project
.Untuk meneruskan
--property
ke aplikasi daripada mengatur properti MSBuild, berikan opsi setelah pemisah--
sintaks, misalnya:dotnet run -- --property name=value
-r|--runtime <RUNTIME_IDENTIFIER>
Menentukan runtime target untuk memulihkan paket. Untuk daftar Pengidentifikasi Runtime (RID), lihat katalog RID.
--tl:[auto|on|off]
Menentukan apakah pencatat terminal harus digunakan untuk output build. Defaultnya adalah
auto
, yang pertama memverifikasi lingkungan sebelum mengaktifkan pengelogan terminal. Pemeriksaan lingkungan memverifikasi bahwa terminal mampu menggunakan fitur output modern dan tidak menggunakan output standar yang dialihkan sebelum mengaktifkan pencatat baru.on
melewati pemeriksaan lingkungan dan mengaktifkan pengelogan terminal.off
melewati pemeriksaan lingkungan dan menggunakan pencatat konsol default.Pencatat terminal menunjukkan fase pemulihan diikuti oleh fase build. Selama setiap fase, proyek bangunan saat ini muncul di bagian bawah terminal. Setiap proyek yang membangun menghasilkan target MSBuild yang saat ini sedang dibangun dan jumlah waktu yang dihabiskan untuk target tersebut. Anda dapat mencari informasi ini untuk mempelajari lebih lanjut tentang build. Setelah proyek selesai dibangun, satu bagian "build completed" ditulis yang menangkap:
- Nama proyek bawaan.
- Kerangka kerja target (jika multi-target).
- Status build tersebut.
- Output utama build tersebut (yang di-hyperlink).
- Diagnostik apa pun yang dihasilkan untuk proyek tersebut.
Opsi ini tersedia mulai dari .NET 8.
-v|--verbosity <LEVEL>
Mengatur tingkat verbositas perintah. Nilai yang diizinkan adalah
q[uiet]
,m[inimal]
,n[ormal]
,d[etailed]
, dandiag[nostic]
. Default adalahminimal
. Untuk informasi selengkapnya, lihat LoggerVerbosity .
Jalankan proyek di direktori saat ini:
dotnet run
Jalankan proyek yang ditentukan:
dotnet run --project ./projects/proj1/proj1.csproj
Jalankan proyek di direktori saat ini, menentukan Konfigurasi rilis:
dotnet run --property:Configuration=Release
Jalankan proyek di direktori saat ini (
--help
argumen dalam contoh ini diteruskan ke aplikasi, karena opsi kosong--
digunakan):dotnet run --configuration Release -- --help
Pulihkan dependensi dan alat untuk proyek di direktori saat ini hanya memperlihatkan output minimal lalu jalankan proyek:
dotnet run --verbosity m
Umpan balik .NET
.NET adalah proyek sumber terbuka. Pilih tautan untuk memberikan umpan balik: