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 menjadi list, search, install, dan uninstall sub-perintah.
  • Opsi --update-apply menjadi subperintah update.
  • Untuk menggunakan --update-check, gunakan update 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.

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(.. /docs/core/tools/dotnet-new-sdk-templates.md#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], dan diag[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 3.1.101:

    dotnet new globaljson --sdk-version 3.1.101
    
  • Tampilkan bantuan untuk templat aplikasi konsol C#:

    dotnet new console -h
    
  • Tampilkan bantuan untuk templat aplikasi konsol F#:

    dotnet new console --language "F#" -h
    

Lihat juga