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 blev list, search, installoch uninstall underkommandon.
  • Alternativet --update-apply blev update underkommandot.
  • Om du vill använda --update-checkanvänder du update 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 publishoch 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.

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 --installav kontrollerar dotnet 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]och diag[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
    
  • 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
    

Se även