dotnet new <TEMPLATE>
Tento článek se vztahuje na: ✔️ .NET Core 3.1 SDK a novější verze
Název
dotnet new
– Vytvoří nový projekt, konfigurační soubor nebo řešení na základě zadané šablony.
Synopse
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
Popis
Příkaz dotnet new
vytvoří projekt .NET nebo jiné artefakty založené na šabloně.
Příkaz zavolá modul šablony, který vytvoří artefakty na disku na základě zadané šablony a možností.
Poznámka:
Od sady .NET 7 SDK se dotnet new
syntaxe změnila:
- Z
--list
, ,--install
--search
a--uninstall
možnosti se stalylist
,search
install
, auninstall
podpříkazy. - Možnost
--update-apply
se stalaupdate
podpříkazem. - Chcete-li použít
--update-check
, použijteupdate
podpříkaz s--check-only
možností.
Další možnosti, které byly k dispozici dříve, jsou stále dostupné pro použití s příslušnými dílčími příkazy.
Samostatná nápověda pro jednotlivé podpříkazy je k dispozici prostřednictvím -h
možnosti nebo --help
možnosti: dotnet new <subcommand> --help
zobrazí seznam všech podporovaných možností podpříkazu.
Kromě toho je nyní k dispozici dokončování tabulátoru pro dotnet new
. Podporuje dokončování pro nainstalované názvy šablon a možnosti, které poskytuje vybraná šablona.
Pokud chcete aktivovat dokončování karet pro sadu .NET SDK, přečtěte si téma Povolení dokončování tabulátoru.
Dokončování tabulátoru
Od sady .NET SDK 7.0.100 je k dispozici dokončování tabulátoru .dotnet new
Podporuje dokončování pro nainstalované názvy šablon a také dokončení pro možnosti, které poskytuje vybraná šablona.
Pokud chcete aktivovat dokončování karet pro sadu .NET SDK, přečtěte si téma Povolení dokončování tabulátoru.
Implicitní obnovení
Nemusíte spouštětdotnet restore
, protože se spouští implicitně všemi příkazy, které vyžadují obnovení, například dotnet new
, , dotnet build
, dotnet run
, dotnet test
dotnet publish
a dotnet pack
. Pokud chcete zakázat implicitní obnovení, použijte tuto --no-restore
možnost.
Příkaz dotnet restore
je stále užitečný v určitých scénářích, kdy explicitní obnovení dává smysl, například sestavení kontinuální integrace ve službě Azure DevOps Services nebo v systémech sestavení, které potřebují explicitně řídit, kdy dojde k obnovení.
Informace o správě informačních kanálů NuGet najdete v dotnet restore
dokumentaci.
Argumenty
TEMPLATE
Šablona, která vytvoří instanci při vyvolání příkazu. Každá šablona může mít konkrétní možnosti, které můžete předat. Další informace najdete v tématu Možnosti šablony.
Spuštěním můžete
dotnet new list
zobrazit seznam všech nainstalovaných šablon.Počínaje sadou .NET Core 3.0 SDK a končící sadou .NET SDK 5.0.300 rozhraní příkazového řádku hledá šablony v NuGet.org při vyvolání
dotnet new
příkazu v následujících podmínkách:- Pokud rozhraní příkazového řádku nemůže najít shodu šablony při vyvolání
dotnet new
, ani částečné. - Pokud je k dispozici novější verze šablony. V tomto případě se projekt nebo artefakt vytvoří, ale rozhraní příkazového řádku vás upozorní na aktualizovanou verzi šablony.
Počínaje sadou .NET SDK 5.0.300
search
by se měl příkaz použít k vyhledání šablon v NuGet.org.- Pokud rozhraní příkazového řádku nemůže najít shodu šablony při vyvolání
Následující tabulka ukazuje šablony, které jsou předinstalované se sadou .NET SDK. Výchozí jazyk šablony se zobrazí v hranatých závorkách. Kliknutím na odkaz na krátký název zobrazíte konkrétní možnosti šablony.
Šablony | Krátký název | Jazyk | Značky | Představení |
---|---|---|---|---|
Konzolová aplikace | console |
[C#], F#, VB | Společná/konzola | 1.0 |
Knihovna tříd | classlib |
[C#], F#, VB | Společné/knihovna | 1.0 |
Aplikace WPF | wpf |
[C#], VB | Běžné nebo WPF | 3.0 (5.0 pro VB) |
Knihovna tříd WPF | wpflib |
[C#], VB | Běžné nebo WPF | 3.0 (5.0 pro VB) |
Knihovna vlastních ovládacích prvků WPF | wpfcustomcontrollib |
[C#], VB | Běžné nebo WPF | 3.0 (5.0 pro VB) |
Knihovna uživatelských ovládacích prvků WPF | wpfusercontrollib |
[C#], VB | Běžné nebo WPF | 3.0 (5.0 pro VB) |
aplikace model Windows Forms (WinForms) | winforms |
[C#], VB | Běžné nebo WinForms | 3.0 (5.0 pro VB) |
knihovna tříd model Windows Forms (WinForms) | winformslib |
[C#], VB | Běžné nebo WinForms | 3.0 (5.0 pro VB) |
Pracovní služba | worker |
[C#] | Common/Worker/Web | 3,0 |
Projekt testů MSTest | mstest |
[C#], F#, VB | Test/MSTest | 1.0 |
Test MSTest – třída | mstest-class |
[C#], F#, VB | Test/MSTest | 1.0 |
NUnit 3 – testovací projekt | nunit |
[C#], F#, VB | Test/NUnit | 2.1.400 |
NUnit 3 Testovací položka | nunit-test |
[C#], F#, VB | Test/NUnit | 2,2 |
Testovací projekt xUnit | xunit |
[C#], F#, VB | Test/xUnit | 1.0 |
Komponenta Razor | razorcomponent |
[C#] | Web/ASP.NET | 3,0 |
Stránka 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 Webová aplikace | blazor |
[C#] | Web/Blazor | 8.0.100 |
BlazorWebAssembly Samostatná aplikace | blazorwasm |
[C#] | Web/Blazor//WebAssembly/PWA | 3.1.300 |
prázdné jádro ASP.NET | web |
[C#], F# | Web/Empty | 1.0 |
ASP.NET Core Web App (Model-View-Controller) | mvc |
[C#], F# | Web/MVC | 1.0 |
ASP.NET Core Web App | webapp, razor |
[C#] | Web/MVC/Razor Pages | 2.2, 2.0 |
Knihovna tříd Razor | razorclasslib |
[C#] | Web/Razor/Library/Razor Class Library | 2.1 |
Webové rozhraní API ASP.NET Core | webapi |
[C#], F# | Webové/ webové rozhraní API, rozhraní API, služba/ WebAPI | 1.0 |
ASP.NET Core API | webapiaot |
[C#] | Webové/ webové rozhraní API, rozhraní API/ služba | 8.0 |
řadič rozhraní API ASP.NET Core | apicontroller |
[C#] | Web/ASP.NET | 8.0 |
služba ASP.NET Core gRPC | grpc |
[C#] | Web/gRPC | 3,0 |
dotnet gitignore file | gitignore |
Config | 3,0 | |
global.json soubor | globaljson |
Config | 2.0 | |
Konfigurace NuGet | nugetconfig |
Config | 1.0 | |
Soubor manifestu místního nástroje Dotnet | tool-manifest |
Config | 3,0 | |
Konfigurace webu | webconfig |
Config | 1.0 | |
Soubor řešení | sln |
Řešení | 1.0 | |
Soubor vyrovnávací paměti protokolu | proto |
Web/gRPC | 3,0 | |
Soubor EditorConfig | editorconfig |
Config | 6.0 |
Následující tabulka uvádí šablony, které byly ukončeny a už nejsou předinstalované se sadou .NET SDK. Kliknutím na odkaz na krátký název zobrazíte konkrétní možnosti šablony.
Šablony | Krátký název | Jazyk | Značky | Ukončeno od |
---|---|---|---|---|
ASP.NET Core s Angular | angular |
[C#] | Web/MVC/SPA | 8.0 |
ASP.NET Core s React.js | react |
[C#] | Web/MVC/SPA | 8.0 |
Blazor Serverová aplikace | blazorserver |
[C#] | Web/Blazor | 8.0 |
Blazor Prázdná serverová aplikace | blazorserver-empty |
[C#] | Web/Blazor | 8.0 |
BlazorWebAssembly Prázdná aplikace | blazorwasm-empty |
[C#] | Web/Blazor/WebAssembly | 8.0 |
Možnosti
--dry-run
Zobrazí souhrn toho, co by se stalo, kdyby se daný příkaz spustil, pokud by výsledkem vytvoření šablony. K dispozici od sady .NET Core 2.2 SDK.
--force
Vynutí generování obsahu, i když by se změnily existující soubory. To se vyžaduje, když zvolená šablona přepíše existující soubory ve výstupním adresáři.
-?|-h|--help
Vytiskne nápovědu k příkazu. Lze ho
dotnet new
vyvolat pro samotný příkaz nebo pro libovolnou šablonu. Napříkladdotnet new mvc --help
.-lang|--language {C#|F#|VB}
Jazyk šablony, který se má vytvořit. Jazyk, který je přijat, se liší podle šablony (viz výchozí hodnoty v oddílu argumentů ). Některé šablony nejsou platné.
Poznámka:
Některá prostředí se interpretují
#
jako speciální znak. V těchto případech uzavřete hodnotu parametru jazyka do uvozovek. Napříkladdotnet new console -lang "F#"
.-n|--name <OUTPUT_NAME>
Název vytvořeného výstupu. Pokud není zadán žádný název, použije se název aktuálního adresáře.
-f|--framework <FRAMEWORK>
Určuje cílovou architekturu. Očekává moniker cílové architektury (TFM). Příklady: net6.0, net7.0-macos. Tato hodnota se projeví v souboru projektu.
-no-update-check
Zakáže kontrolu aktualizací balíčků šablon při vytváření instance šablony. K dispozici od sady .NET SDK 6.0.100. Při vytváření instance šablony z balíčku šablony, který byl nainstalován pomocí
dotnet new --install
,dotnet new
zkontroluje, jestli pro šablonu existuje aktualizace. Počínaje rozhraním .NET 6 nejsou provedeny žádné kontroly aktualizací pro výchozí šablony .NET. Pokud chcete aktualizovat výchozí šablony .NET, nainstalujte verzi opravy sady .NET SDK.-o|--output <OUTPUT_DIRECTORY>
Umístění pro umístění vygenerovaného výstupu Výchozí je aktuální adresář.
--project <PROJECT_PATH>
Projekt, do kterého je šablona přidána. Tento projekt se používá k vyhodnocení kontextu. Pokud není zadaný, použije se projekt v aktuálních nebo nadřazených adresářích. K dispozici od sady .NET SDK 7.0.100.
-d|--diagnostics
Povolí výstup diagnostiky. K dispozici od sady .NET SDK 7.0.100.
-v|--verbosity <LEVEL>
Nastaví úroveň podrobností příkazu. Povolené hodnoty jsou
q[uiet]
,m[inimal]
,n[ormal]
adiag[nostic]
. K dispozici od sady .NET SDK 7.0.100.
Možnosti šablony
Každá šablona může mít definované další možnosti. Další informace naleznete v tématu .NET výchozí šablony pro dotnet new
.
Příklady
Vytvoření projektu konzolové aplikace jazyka C#:
dotnet new console
V aktuálním adresáři vytvořte projekt konzolové aplikace jazyka F#:
dotnet new console --language "F#"
V zadaném adresáři vytvořte projekt knihovny tříd .NET Standard 2.0:
dotnet new classlib --framework "netstandard2.0" -o MyLibrary
V aktuálním adresáři vytvořte nový projekt ASP.NET Core C# MVC bez ověřování:
dotnet new mvc -au None
Vytvořte nový projekt xUnit:
dotnet new xunit
V aktuálním adresáři vytvořte global.json s nastavením verze sady SDK na 8.0.101:
dotnet new globaljson --sdk-version 8.0.101 --roll-forward latestFeature
Zobrazit nápovědu pro šablonu konzolové aplikace jazyka C#:
dotnet new console -h
Zobrazit nápovědu pro šablonu konzolové aplikace jazyka F#:
dotnet new console --language "F#" -h