templat baru <dotnet>
Artikel ini berlaku untuk: ✔️ .NET Core 3.1 SDK dan versi yang lebih baru
Nama
dotnet new
- Membuat proyek baru, file konfigurasi, atau solusi berdasarkan templat yang ditentukan.
Sinopsis
dotnet new <TEMPLATE> [--dry-run] [--force] [-lang|--language {"C#"|"F#"|VB}]
[-n|--name <OUTPUT_NAME>] [-f|--framework <FRAMEWORK>] [--no-update-check]
[-o|--output <OUTPUT_DIRECTORY>] [--project <PROJECT_PATH>]
[-d|--diagnostics] [--verbosity <LEVEL>] [Template options]
dotnet new -h|--help
Deskripsi
Perintah dotnet new
membuat proyek .NET atau artefak lainnya berdasarkan templat.
Perintah memanggil mesin templat untuk membuat artefak pada disk berdasarkan templat dan opsi yang ditentukan.
Catatan
Dimulai dengan .NET 7 SDK, dotnet new
sintaks telah berubah:
--search
,--list
,--install
, dan--uninstall
opsi menjadilist
,search
,install
, danuninstall
sub-perintah.- Opsi
--update-apply
menjadi subperintahupdate
. - Untuk menggunakan
--update-check
, gunakanupdate
sub-perintah dengan--check-only
opsi .
Opsi lain yang tersedia sebelumnya masih tersedia untuk digunakan dengan subperintah opsi masing-masing.
Bantuan terpisah untuk setiap subperintah tersedia melalui opsi -h
atau --help
: dotnet new <subcommand> --help
mencantumkan semua opsi yang didukung untuk subperintah.
Selain itu, penyelesaian tab sekarang tersedia untuk dotnet new
. Ini mendukung penyelesaian untuk nama templat yang diinstal dan untuk opsi yang disediakan templat yang dipilih.
Untuk mengaktifkan penyelesaian tab untuk SDK .NET, lihat Mengaktifkan penyelesaian tab.
Penyelesaian tab
Dimulai dengan .NET SDK 7.0.100, penyelesaian tab tersedia untuk dotnet new
. Ini mendukung penyelesaian untuk nama template yang diinstal, serta penyelesaian untuk opsi yang disediakan oleh template yang dipilih.
Untuk mengaktifkan penyelesaian tab untuk SDK .NET, lihat Mengaktifkan penyelesaian tab.
Pemulihan implisit
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.
Argumen
TEMPLATE
Templat untuk membuat instans saat perintah dipanggil. Setiap templat mungkin memiliki opsi tertentu yang dapat Anda lewati. Untuk informasi selengkapnya, lihat Opsi templat.
Anda dapat menjalankan
dotnet new list
untuk melihat daftar semua templat yang terinstal.Dimulai dengan .NET Core 3.0 SDK dan berakhir dengan .NET SDK 5.0.300, CLI mencari templat di NuGet.org saat Anda memanggil
dotnet new
perintah dalam kondisi berikut:- Jika CLI tidak dapat menemukan kecocokan templat saat memanggil
dotnet new
, bahkan tidak parsial. - Jika ada versi templat yang lebih baru yang tersedia. Dalam hal ini, proyek atau artefak dibuat tetapi CLI memperingatkan Anda tentang versi templat yang diperbarui.
Dimulai dengan .NET SDK 5.0.300,
search
perintah harus digunakan untuk mencari templat di NuGet.org.- Jika CLI tidak dapat menemukan kecocokan templat saat memanggil
Tabel berikut ini memperlihatkan templat yang telah diinstal sebelumnya dengan .NET SDK. Bahasa default untuk templat ditampilkan di dalam tanda kurung siku. Klik tautan nama pendek untuk melihat opsi templat tertentu.
Templat | Nama pendek | Bahasa | Tag | Pengenalan |
---|---|---|---|---|
Aplikasi Konsol | console |
[C#], F#, VB | Umum/Konsol | 1.0 |
Pustaka kelas | classlib |
[C#], F#, VB | Umum/Pustaka | 1.0 |
Aplikasi WPF | wpf |
[C#], VB | Common/WPF | 3.0 (5.0 untuk VB) |
Pustaka Kelas WPF | wpflib |
[C#], VB | Common/WPF | 3.0 (5.0 untuk VB) |
Pustaka Kontrol Kustom WPF | wpfcustomcontrollib |
[C#], VB | Common/WPF | 3.0 (5.0 untuk VB) |
Pustaka Kontrol Pengguna WPF | wpfusercontrollib |
[C#], VB | Common/WPF | 3.0 (5.0 untuk VB) |
Aplikasi Formulir Windows (WinForms) | winforms |
[C#], VB | Common/WinForms | 3.0 (5.0 untuk VB) |
Pustaka Kelas Formulir Windows (WinForms) | winformslib |
[C#], VB | Common/WinForms | 3.0 (5.0 untuk VB) |
Layanan Pekerja | worker |
[C#] | Umum/Pekerja/Web | 3.0 |
Proyek Pengujian Unit | mstest |
[C#], F#, VB | Uji/MSTest | 1.0 |
Proyek Pengujian NUnit 3 | nunit |
[C#], F#, VB | Test/NUnit | 2.1.400 |
Item Uji NUnit 3 | nunit-test |
[C#], F#, VB | Test/NUnit | 2.2 |
Proyek Pengujian xUnit | xunit |
[C#], F#, VB | Test/xUnit | 1.0 |
Komponen Razor | razorcomponent |
[C#] | Web/ASP.NET | 3.0 |
Halaman Razor | page |
[C#] | Web/ASP.NET | 2.0 |
MVC ViewImports | viewimports |
[C#] | Web/ASP.NET | 2.0 |
MVC ViewStart | viewstart |
[C#] | Web/ASP.NET | 2.0 |
Blazor Aplikasi Web | blazor |
[C#] | Web/Blazor | 8.0.100 |
BlazorWebAssembly Aplikasi Mandiri | blazorwasm |
[C#] | Web/Blazor//WebAssemblyPWA | 3.1.300 |
ASP.NET Core Empty | web |
[C#], F# | Web/Kosong | 1.0 |
Aplikasi web ASP.NET Core (Model-View-Controller) | mvc |
[C#], F# | Web/MVC | 1.0 |
Aplikasi Web ASP.NET Core | webapp, razor |
[C#] | Halaman Web/MVC/Razor | 2.2, 2.0 |
Pustaka Kelas Razor | razorclasslib |
[C#] | Pustaka Kelas Web/Razor/Pustaka/Razor | 2.1 |
ASP.NET Core Web API | webapi |
[C#], F# | Web/Web API/API/Layanan/WebAPI | 1.0 |
ASP.NET Core API | webapiaot |
[C#] | Web/Web API/API/Layanan | 8.0 |
pengontrol API inti ASP.NET | apicontroller |
[C#] | Web/ASP.NET | 8.0 |
Layanan ASP.NET Core gRPC | grpc |
[C#] | Web/gRPC | 3.0 |
file gitignore dotnet | gitignore |
Konfigurasi | 3.0 | |
file global.json | globaljson |
Konfigurasi | 2.0 | |
Konfigurasi NuGet | nugetconfig |
Konfigurasi | 1.0 | |
File manifes alat lokal Dotnet | tool-manifest |
Konfigurasi | 3.0 | |
Konfigurasi Web | webconfig |
Konfigurasi | 1.0 | |
File Solusi | sln |
Solusi | 1.0 | |
File Buffer Protokol | proto |
Web/gRPC | 3.0 | |
File EditorConfig | editorconfig |
Konfigurasi | 6.0 |
Tabel berikut ini memperlihatkan templat yang telah dihentikan dan tidak lagi diinstal sebelumnya dengan .NET SDK. Klik tautan nama pendek untuk melihat opsi templat tertentu.
Templat | Nama pendek | Bahasa | Tag | Dihentikan sejak |
---|---|---|---|---|
ASP.NET Core dengan Angular | angular |
[C#] | Web/MVC/SPA | 8.0 |
ASP.NET Core dengan React.js | react |
[C#] | Web/MVC/SPA | 8.0 |
Blazor Aplikasi Server | blazorserver |
[C#] | Web/Blazor | 8.0 |
Blazor Aplikasi Server Kosong | blazorserver-empty |
[C#] | Web/Blazor | 8.0 |
BlazorWebAssembly Aplikasi Kosong | blazorwasm-empty |
[C#] | Web/Blazor/WebAssembly | 8.0 |
Opsi
--dry-run
Menampilkan ringkasan apa yang akan terjadi jika perintah yang diberikan dijalankan jika akan menghasilkan pembuatan templat. Tersedia sejak .NET Core 2.2 SDK.
--force
Memaksa konten dibuat meskipun akan mengubah file yang ada. Ini diperlukan ketika templat yang dipilih akan mengambil alih file yang ada di direktori output.
-?|-h|--help
Mencetak bantuan untuk perintah. Ini dapat dipanggil untuk perintah itu
dotnet new
sendiri atau untuk templat apa pun. Contohnya,dotnet new mvc --help
.-lang|--language {C#|F#|VB}
Bahasa templat yang akan dibuat. Bahasa yang diterima bervariasi menurut templat (lihat default di bagian argumen ). Tidak valid untuk beberapa templat.
Catatan
Beberapa shell menafsirkan
#
sebagai karakter khusus. Dalam kasus tersebut, sertakan nilai parameter bahasa dalam tanda kutip. Contohnya,dotnet new console -lang "F#"
.-n|--name <OUTPUT_NAME>
Nama untuk output yang dibuat. Jika tidak ada nama yang ditentukan, nama direktori saat ini akan digunakan.
-f|--framework <FRAMEWORK>
Menentukan kerangka kerja target. Ini mengharapkan moniker kerangka kerja target (TFM). Contoh: "net6.0", "net7.0-macos". Nilai ini akan tercermin dalam file proyek.
-no-update-check
Menonaktifkan pemeriksaan pembaruan paket templat saat membuat templat. Tersedia sejak .NET SDK 6.0.100. Saat membuat instans templat dari paket templat yang diinstal dengan menggunakan
dotnet new --install
,dotnet new
memeriksa apakah ada pembaruan untuk templat. Dimulai dengan .NET 6, tidak ada pemeriksaan pembaruan yang dilakukan untuk templat default .NET. Untuk memperbarui templat default .NET, instal versi patch dari .NET SDK.-o|--output <OUTPUT_DIRECTORY>
Lokasi untuk menempatkan output yang dihasilkan. Defaultnya adalah direktori saat ini.
--project <PROJECT_PATH>
Proyek tempat templat ditambahkan. Proyek ini digunakan untuk evaluasi konteks. Jika tidak ditentukan, proyek di direktori saat ini atau induk akan digunakan. Tersedia sejak .NET SDK 7.0.100.
-d|--diagnostics
Mengaktifkan output diagnostik. Tersedia sejak .NET SDK 7.0.100.
-v|--verbosity <LEVEL>
Mengatur tingkat verbositas perintah. Nilai yang diizinkan adalah
q[uiet]
,m[inimal]
,n[ormal]
, dandiag[nostic]
. Tersedia sejak .NET SDK 7.0.100.
Opsi templat
Setiap templat mungkin memiliki opsi tambahan yang ditentukan. Untuk informasi selengkapnya, lihat templat default .NET untuk dotnet new
.
Contoh
Buat proyek aplikasi konsol C#:
dotnet new console
Buat proyek aplikasi konsol F# di direktori saat ini:
dotnet new console --language "F#"
Buat proyek pustaka kelas .NET Standard 2.0 di direktori yang ditentukan:
dotnet new classlib --framework "netstandard2.0" -o MyLibrary
Buat proyek ASP.NET Core C# MVC baru di direktori saat ini tanpa autentikasi:
dotnet new mvc -au None
Buat proyek xUnit baru:
dotnet new xunit
Buat global.json di pengaturan direktori saat ini versi SDK ke 8.0.101:
dotnet new globaljson --sdk-version 8.0.101 --roll-forward latestFeature
Tampilkan bantuan untuk templat aplikasi konsol C#:
dotnet new console -h
Tampilkan bantuan untuk templat aplikasi konsol F#:
dotnet new console --language "F#" -h