dotnet ny <MALL>
Den här artikeln gäller för: ✔️ .NET Core 3.1 SDK och senare versioner
Name
dotnet new
– Skapar ett nytt projekt, en konfigurationsfil eller en lösning baserat på den angivna mallen.
Sammanfattning
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
beskrivning
Kommandot dotnet new
skapar ett .NET-projekt eller andra artefakter baserat på en mall.
Kommandot anropar mallmotorn för att skapa artefakterna på disken baserat på den angivna mallen och alternativen.
Kommentar
Från och med .NET 7 SDK har syntaxen dotnet new
ändrats:
- Alternativen
--list
,--search
,--install
, och--uninstall
blevlist
,search
,install
ochuninstall
underkommandon. - Alternativet
--update-apply
blevupdate
underkommandot. - Om du vill använda
--update-check
använder duupdate
underkommandot med alternativet--check-only
.
Andra alternativ som var tillgängliga tidigare är fortfarande tillgängliga att använda med respektive underkommandon.
Separat hjälp för varje underkommando är tillgänglig via -h
alternativet eller --help
: dotnet new <subcommand> --help
visar en lista över alla alternativ som stöds för underkommandot.
Dessutom är fliken klar nu tillgänglig för dotnet new
. Den stöder slutförande för installerade mallnamn och för de alternativ som en vald mall innehåller.
Information om hur du aktiverar flikslutsättning för .NET SDK finns i Aktivera flikslutsättning.
Tabbavslut
Från och med .NET SDK 7.0.100 är tabbslutningen tillgänglig för dotnet new
. Det stöder slutförande för installerade mallnamn, samt slutförande av de alternativ som en vald mall innehåller.
Information om hur du aktiverar flikslutsättning för .NET SDK finns i Aktivera flikslutsättning.
Implicit återställning
Du behöver inte köra dotnet restore
eftersom den körs implicit av alla kommandon som kräver en återställning, till exempel dotnet new
, dotnet build
, dotnet run
, dotnet test
, dotnet publish
och dotnet pack
. Om du vill inaktivera implicit återställning använder du alternativet --no-restore
.
Kommandot dotnet restore
är fortfarande användbart i vissa scenarier där det är meningsfullt att uttryckligen återställa, till exempel kontinuerliga integreringsversioner i Azure DevOps Services eller i byggsystem som uttryckligen behöver styra när återställningen sker.
Information om hur du hanterar NuGet-feeds finns i dokumentationendotnet restore
.
Argument
TEMPLATE
Mallen som instansierar när kommandot anropas. Varje mall kan ha specifika alternativ som du kan skicka. Mer information finns i Mallalternativ.
Du kan köra
dotnet new list
för att se en lista över alla installerade mallar.Från och med .NET Core 3.0 SDK och slutar med .NET SDK 5.0.300 söker CLI efter mallar i NuGet.org när du anropar
dotnet new
kommandot under följande villkor:- Om CLI inte kan hitta en mallmatchning när du anropar
dotnet new
, inte ens delvis. - Om det finns en nyare version av mallen tillgänglig. I det här fallet skapas projektet eller artefakten, men CLI varnar dig om en uppdaterad version av mallen.
Från och med .NET SDK 5.0.300
search
ska kommandot användas för att söka efter mallar i NuGet.org.- Om CLI inte kan hitta en mallmatchning när du anropar
I följande tabell visas de mallar som är förinstallerade med .NET SDK. Standardspråket för mallen visas inom hakparenteserna. Klicka på den korta namnlänken för att se de specifika mallalternativen.
Mallar | Kort namn | Språk | Taggar | Introducerade |
---|---|---|---|---|
Konsolprogram | console |
[C#], F#, VB | Common/Console | 1.0 |
Klassbibliotek | classlib |
[C#], F#, VB | Common/Library | 1.0 |
WPF-program | wpf |
[C#], VB | Common/WPF | 3.0 (5.0 för VB) |
WPF-klassbibliotek | wpflib |
[C#], VB | Common/WPF | 3.0 (5.0 för VB) |
ANPASSAT WPF-kontrollbibliotek | wpfcustomcontrollib |
[C#], VB | Common/WPF | 3.0 (5.0 för VB) |
WPF-användarkontrollbibliotek | wpfusercontrollib |
[C#], VB | Common/WPF | 3.0 (5.0 för VB) |
Windows Forms-program (WinForms) | winforms |
[C#], VB | Common/WinForms | 3.0 (5.0 för VB) |
Windows Forms-klassbibliotek (WinForms) | winformslib |
[C#], VB | Common/WinForms | 3.0 (5.0 för VB) |
Arbetstjänst | worker |
[C#] | Common/Worker/Web | 3,0 |
Projekt för enhetstest | mstest |
[C#], F#, VB | Test/MSTest | 1.0 |
NUnit 3-testprojekt | nunit |
[C#], F#, VB | Test/NUnit | 2.1.400 |
NUnit 3-testobjekt | nunit-test |
[C#], F#, VB | Test/NUnit | 2,2 |
xUnit-testprojekt | xunit |
[C#], F#, VB | Test/xUnit | 1.0 |
Razor-komponent | razorcomponent |
[C#] | Webb/ASP.NET | 3,0 |
Razor-sida | page |
[C#] | Webb/ASP.NET | 2.0 |
MVC-vyImporter | viewimports |
[C#] | Webb/ASP.NET | 2.0 |
MVC ViewStart | viewstart |
[C#] | Webb/ASP.NET | 2.0 |
Blazor Webbapp | blazor |
[C#] | Web/Blazor | 8.0.100 |
BlazorWebAssembly Fristående app | blazorwasm |
[C#] | Webb/Blazor/WebAssembly/PWA | 3.1.300 |
ASP.NET Core Tom | web |
[C#], F# | Webb/tom | 1.0 |
ASP.NET Core Web App (Model-View-Controller) | mvc |
[C#], F# | Webb/MVC | 1.0 |
ASP.NET Core Web App | webapp, razor |
[C#] | Webb-/MVC-/Razor-sidor | 2.2, 2.0 |
Razor Class Library | razorclasslib |
[C#] | Webb/Razor/Bibliotek/Razor-klassbibliotek | 2.1 |
ASP.NET Core Web API | webapi |
[C#], F# | Webb-/webb-API/API/Tjänst/WebAPI | 1.0 |
ASP.NET Core API | webapiaot |
[C#] | Webb-/webb-API/API/tjänst | 8.0 |
ASP.NET Core API-styrenhet | apicontroller |
[C#] | Webb/ASP.NET | 8.0 |
ASP.NET Core gRPC-tjänsten | grpc |
[C#] | Webb/gRPC | 3,0 |
dotnet gitignore-fil | gitignore |
Konfigurera | 3,0 | |
global.json fil | globaljson |
Konfigurera | 2.0 | |
NuGet-konfiguration | nugetconfig |
Konfigurera | 1.0 | |
Dotnet-manifestfil för lokalt verktyg | tool-manifest |
Konfigurera | 3,0 | |
Webbkonfiguration | webconfig |
Konfigurera | 1.0 | |
Lösningsfil | sln |
Lösning | 1.0 | |
Protokollbuffertfil | proto |
Webb/gRPC | 3,0 | |
EditorConfig-fil | editorconfig |
Konfigurera | 6,0 |
I följande tabell visas mallar som har upphört och som inte längre är förinstallerade med .NET SDK. Klicka på den korta namnlänken för att se de specifika mallalternativen.
Mallar | Kort namn | Språk | Taggar | Har upphört sedan |
---|---|---|---|---|
ASP.NET Core med Angular | angular |
[C#] | Webb/MVC/SPA | 8.0 |
ASP.NET Core med React.js | react |
[C#] | Webb/MVC/SPA | 8.0 |
Blazor Serverapp | blazorserver |
[C#] | Web/Blazor | 8.0 |
Blazor Serverappen är tom | blazorserver-empty |
[C#] | Web/Blazor | 8.0 |
BlazorWebAssembly Appen är tom | blazorwasm-empty |
[C#] | Webb/Blazor/WebAssembly | 8.0 |
Alternativ
--dry-run
Visar en sammanfattning av vad som skulle hända om det angivna kommandot kördes om det skulle resultera i att en mall skapades. Tillgänglig sedan .NET Core 2.2 SDK.
--force
Tvingar innehåll att genereras även om det skulle ändra befintliga filer. Detta krävs när den valda mallen skulle åsidosätta befintliga filer i utdatakatalogen.
-?|-h|--help
Skriver ut hjälp för kommandot. Det kan anropas för
dotnet new
själva kommandot eller för valfri mall. Exempel:dotnet new mvc --help
-lang|--language {C#|F#|VB}
Språket i mallen som ska skapas. Det språk som accepteras varierar beroende på mallen (se standardvärden i avsnittet argument ). Ogiltigt för vissa mallar.
Kommentar
Vissa gränssnitt tolkas
#
som ett specialtecken. I dessa fall omger du värdet för språkparametern inom citattecken. Exempel:dotnet new console -lang "F#"
-n|--name <OUTPUT_NAME>
Namnet på de skapade utdata. Om inget namn anges används namnet på den aktuella katalogen.
-f|--framework <FRAMEWORK>
Anger målramverket. Den förväntar sig en målramverksmoniker (TFM). Exempel: "net6.0", "net7.0-macos". Det här värdet återspeglas i projektfilen.
-no-update-check
Inaktiverar sökning efter mallpaketuppdateringar när du instansierar en mall. Tillgänglig sedan .NET SDK 6.0.100. När du instansierar mallen från ett mallpaket som installerades med hjälp
dotnet new --install
av kontrollerardotnet new
du om det finns en uppdatering för mallen. Från och med .NET 6 görs inga uppdateringskontroller för .NET-standardmallar. Om du vill uppdatera .NET-standardmallar installerar du korrigeringsversionen av .NET SDK.-o|--output <OUTPUT_DIRECTORY>
Plats för att placera de genererade utdata. Standardvärdet är den aktuella katalogen.
--project <PROJECT_PATH>
Det projekt som mallen läggs till i. Det här projektet används för kontextutvärdering. Om det inte anges används projektet i de aktuella eller överordnade katalogerna. Tillgänglig sedan .NET SDK 7.0.100.
-d|--diagnostics
Aktiverar diagnostiska utdata. Tillgänglig sedan .NET SDK 7.0.100.
-v|--verbosity <LEVEL>
Anger kommandots verbositetsnivå. Tillåtna värden är
q[uiet]
,m[inimal]
,n[ormal]
ochdiag[nostic]
. Tillgänglig sedan .NET SDK 7.0.100.
Mallalternativ
Varje mall kan ha ytterligare alternativ definierade. Mer information finns i .NET-standardmallar för dotnet new
.
Exempel
Skapa ett C#-konsolprogramprojekt:
dotnet new console
Skapa ett F#-konsolprogramprojekt i den aktuella katalogen:
dotnet new console --language "F#"
Skapa ett klassbiblioteksprojekt för .NET Standard 2.0 i den angivna katalogen:
dotnet new classlib --framework "netstandard2.0" -o MyLibrary
Skapa ett nytt ASP.NET Core C# MVC-projekt i den aktuella katalogen utan autentisering:
dotnet new mvc -au None
Skapa ett nytt xUnit-projekt:
dotnet new xunit
Skapa en global.json i den aktuella katalogen som anger SDK-versionen till 8.0.101:
dotnet new globaljson --sdk-version 8.0.101 --roll-forward latestFeature
Visa hjälp för C#-konsolens programmall:
dotnet new console -h
Visa hjälp för F#-konsolprogrammallen:
dotnet new console --language "F#" -h