dotnet nieuwe <SJABLOON>

Dit artikel is van toepassing op: ✔️ .NET Core 3.1 SDK en latere versies

Naam

dotnet new - Hiermee maakt u een nieuw project, configuratiebestand of een nieuwe oplossing op basis van de opgegeven sjabloon.

Samenvatting

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

Beschrijving

Met de dotnet new opdracht maakt u een .NET-project of andere artefacten op basis van een sjabloon.

Met de opdracht wordt de sjabloonengine aanroepen om de artefacten op schijf te maken op basis van de opgegeven sjabloon en opties.

Notitie

Vanaf de .NET 7 SDK is de dotnet new syntaxis gewijzigd:

  • De --listopties , --searchen --install--uninstall opties werden list, searchen installuninstall subopdrachten.
  • De --update-apply optie werd de update subopdracht.
  • Als u wilt gebruiken --update-check, gebruikt u de update subopdracht met de --check-only optie.

Andere opties die eerder beschikbaar waren, zijn nog steeds beschikbaar voor gebruik met hun respectieve subopdrachten. Afzonderlijke hulp voor elke subopdracht is beschikbaar via de -h of --help optie: dotnet new <subcommand> --help een lijst met alle ondersteunde opties voor de subopdracht.

Bovendien is tabvoltooiing nu beschikbaar voor dotnet new. Het ondersteunt voltooiing voor geïnstalleerde sjabloonnamen en voor de opties die een geselecteerde sjabloon biedt. Zie Tabvoltooiing inschakelen voor de .NET SDK om de tabvoltooiing te activeren.

Tabvoltooiing

Vanaf .NET SDK 7.0.100 is tabvoltooiing beschikbaar voor dotnet new. Het ondersteunt voltooiing voor geïnstalleerde sjabloonnamen, evenals voltooiing voor de opties die een geselecteerde sjabloon biedt. Zie Tabvoltooiing inschakelen voor de .NET SDK om de tabvoltooiing te activeren.

Impliciete herstelbewerking

U hoeft niet uit te voeren dotnet restore omdat deze impliciet wordt uitgevoerd door alle opdrachten waarvoor een herstelbewerking moet worden uitgevoerd, zoals dotnet new, dotnet build, , dotnet run, dotnet test, , en dotnet publish.dotnet pack Als u impliciete herstel wilt uitschakelen, gebruikt u de --no-restore optie.

De dotnet restore opdracht is nog steeds nuttig in bepaalde scenario's waarbij het expliciet herstellen zinvol is, zoals builds voor continue integratie in Azure DevOps Services of in buildsystemen die expliciet moeten worden beheerd wanneer de herstelbewerking plaatsvindt.

Zie de dotnet restore documentatie voor informatie over het beheren van NuGet-feeds.

Argumenten

  • TEMPLATE

    De sjabloon die moet worden geïnstitueerd wanneer de opdracht wordt aangeroepen. Elke sjabloon kan specifieke opties bevatten die u kunt doorgeven. Zie Sjabloonopties voor meer informatie.

    U kunt uitvoeren dotnet new list om een lijst met alle geïnstalleerde sjablonen weer te geven.

    Vanaf .NET Core 3.0 SDK en eindigend op .NET SDK 5.0.300 zoekt de CLI naar sjablonen in NuGet.org wanneer u de dotnet new opdracht in de volgende voorwaarden aanroept:

    • Als de CLI geen overeenkomst met een sjabloon kan vinden bij het aanroepen dotnet new, zelfs niet gedeeltelijk.
    • Als er een nieuwere versie van de sjabloon beschikbaar is. In dit geval wordt het project of artefact gemaakt, maar de CLI waarschuwt u voor een bijgewerkte versie van de sjabloon.

    Vanaf .NET SDK 5.0.300 moet de search opdracht worden gebruikt om te zoeken naar sjablonen in NuGet.org.

In de volgende tabel ziet u de sjablonen die vooraf zijn geïnstalleerd met de .NET SDK. De standaardtaal voor de sjabloon wordt weergegeven tussen de vierkante haken. Klik op de korte naamkoppeling om de specifieke sjabloonopties weer te geven.

Sjablonen Korte naam Taal Tags Geïntroduceerd
Console Application console [C#], F#, VB Algemeen/Console 1.0
Klassebibliotheek classlib [C#], F#, VB Algemeen/Bibliotheek 1.0
WPF-toepassing wpf [C#], VB Algemeen/WPF 3.0 (5.0 voor VB)
WPF Class-bibliotheek wpflib [C#], VB Algemeen/WPF 3.0 (5.0 voor VB)
Aangepaste WPF-besturingselementbibliotheek wpfcustomcontrollib [C#], VB Algemeen/WPF 3.0 (5.0 voor VB)
WPF User Control Library wpfusercontrollib [C#], VB Algemeen/WPF 3.0 (5.0 voor VB)
Windows Forms-toepassing (WinForms) winforms [C#], VB Algemene/WinForms 3.0 (5.0 voor VB)
Windows Forms -klassebibliotheek (WinForms) winformslib [C#], VB Algemene/WinForms 3.0 (5.0 voor VB)
Werkrolservice worker [C#] Common/Worker/Web 3,0
Eenheidstestproject mstest [C#], F#, VB Testen/MSTest 1.0
Testproject NUnit 3 nunit [C#], F#, VB Test/NUnit 2.1.400
Testitem NUnit 3 nunit-test [C#], F#, VB Test/NUnit 2.2
xUnit-testproject xunit [C#], F#, VB Test/xUnit 1.0
Razor-onderdeel razorcomponent [C#] Web/ASP.NET 3,0
Razor-pagina 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 Web-app blazor [C#] Web/Blazor 8.0.100
BlazorWebAssembly Zelfstandige app blazorwasm [C#] Web/Blazor//WebAssemblyPWA 3.1.300
ASP.NET Core leeg web [C#], F# Web/leeg 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
Razor-klassebibliotheek razorclasslib [C#] Web/Razor/Library/Razor Class Library 2.1
ASP.NET Core Web-API webapi [C#], F# Web/Web-API/API/Service/WebAPI 1.0
ASP.NET Core-API webapiaot [C#] Web/Web-API/API/SERVICE 8.0
ASP.NET Core API-controller apicontroller [C#] Web/ASP.NET 8.0
ASP.NET Core gRPC-service grpc [C#] Web/gRPC 3,0
dotnet gitignore-bestand gitignore Configureren 3,0
global.json-bestand globaljson Configureren 2.0
NuGet-configuratie nugetconfig Configureren 1.0
Manifestbestand van het lokale hulpprogramma Dotnet tool-manifest Configureren 3,0
Webconfiguratie webconfig Configureren 1.0
Oplossingsbestand sln Oplossing 1.0
Protocolbufferbestand proto Web/gRPC 3,0
EditorConfig-bestand editorconfig Configureren 6,0

In de volgende tabel ziet u sjablonen die zijn stopgezet en die niet meer vooraf zijn geïnstalleerd met de .NET SDK. Klik op de korte naamkoppeling om de specifieke sjabloonopties weer te geven.

Sjablonen Korte naam Taal Tags Stopgezet sinds
ASP.NET Core met hoek angular [C#] Web/MVC/SPA 8.0
ASP.NET Core met React.js react [C#] Web/MVC/SPA 8.0
Blazor Server-app blazorserver [C#] Web/Blazor 8.0
Blazor Server-app leeg blazorserver-empty [C#] Web/Blazor 8.0
BlazorWebAssembly App leeg blazorwasm-empty [C#] Web/Blazor/WebAssembly 8.0

Opties

  • --dry-run

    Geeft een samenvatting weer van wat er zou gebeuren als de opgegeven opdracht werd uitgevoerd als dit zou leiden tot het maken van een sjabloon. Beschikbaar sinds .NET Core 2.2 SDK.

  • --force

    Dwingt af dat inhoud wordt gegenereerd, zelfs als deze bestaande bestanden zou wijzigen. Dit is vereist wanneer de gekozen sjabloon bestaande bestanden in de uitvoermap overschrijft.

  • -?|-h|--help

    Hiermee drukt u help voor de opdracht af. Deze kan worden aangeroepen voor de dotnet new opdracht zelf of voor elke sjabloon. Bijvoorbeeld: dotnet new mvc --help.

  • -lang|--language {C#|F#|VB}

    De taal van de sjabloon die moet worden gemaakt. De taal die wordt geaccepteerd, verschilt per sjabloon (zie de standaardinstellingen in de sectie argumenten ). Niet geldig voor sommige sjablonen.

    Notitie

    Sommige shells interpreteren # als een speciaal teken. In die gevallen plaatst u de waarde van de taalparameter tussen aanhalingstekens. Bijvoorbeeld: dotnet new console -lang "F#".

  • -n|--name <OUTPUT_NAME>

    De naam voor de gemaakte uitvoer. Als er geen naam is opgegeven, wordt de naam van de huidige map gebruikt.

  • -f|--framework <FRAMEWORK>

    Hiermee geeft u het doelframework. Er wordt een target framework moniker (TFM) verwacht. Voorbeelden: 'net6.0', 'net7.0-macos'. Deze waarde wordt weergegeven in het projectbestand.

  • -no-update-check

    Schakelt het controleren op updates van sjabloonpakketten uit bij het instantiëren van een sjabloon. Beschikbaar sinds .NET SDK 6.0.100. Bij het instantiëren van de sjabloon vanuit een sjabloonpakket dat is geïnstalleerd met behulp dotnet new --installvan, dotnet new controleert u of er een update voor de sjabloon is. Vanaf .NET 6 worden er geen updatecontroles uitgevoerd voor .NET-standaardsjablonen. Als u .NET-standaardsjablonen wilt bijwerken, installeert u de patchversie van de .NET SDK.

  • -o|--output <OUTPUT_DIRECTORY>

    Locatie om de gegenereerde uitvoer te plaatsen. De standaardwaarde is de huidige map.

  • --project <PROJECT_PATH>

    Het project waaraan de sjabloon is toegevoegd. Dit project wordt gebruikt voor contextevaluatie. Als dit niet is opgegeven, wordt het project in de huidige of bovenliggende mappen gebruikt. Beschikbaar sinds .NET SDK 7.0.100.

  • -d|--diagnostics

    Hiermee schakelt u diagnostische uitvoer in. Beschikbaar sinds .NET SDK 7.0.100.

  • -v|--verbosity <LEVEL>

    Hiermee stelt u het uitgebreidheidsniveau van de opdracht in. Toegestane waarden zijnq[uiet], m[inimal], en diag[nostic]n[ormal]. Beschikbaar sinds .NET SDK 7.0.100.

Sjabloonopties

Voor elke sjabloon zijn mogelijk extra opties gedefinieerd. Zie .NET-standaardsjablonen voor meer informatie.dotnet new

Voorbeelden

  • Een C#-consoletoepassingsproject maken:

    dotnet new console
    
  • Maak een F#-consoletoepassingsproject in de huidige map:

    dotnet new console --language "F#"
    
  • Maak een .NET Standard 2.0-klassebibliotheekproject in de opgegeven map:

    dotnet new classlib --framework "netstandard2.0" -o MyLibrary
    
  • Maak een nieuw ASP.NET Core C# MVC-project in de huidige map zonder verificatie:

    dotnet new mvc -au None
    
  • Maak een nieuw xUnit-project:

    dotnet new xunit
    
  • Maak een global.json in de huidige map waarin de SDK-versie is ingesteld op 8.0.101:

    dotnet new globaljson --sdk-version 8.0.101
    
  • Help weergeven voor de C#-consoletoepassingssjabloon:

    dotnet new console -h
    
  • Help weergeven voor de F#-consoletoepassingssjabloon:

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

Zie ook