Delen via


dotnet nieuwe <SJABLOON>

Dit artikel is van toepassing op: ✔️ .NET 6 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.

    De search opdracht moet worden gebruikt om te zoeken naar sjablonen in NuGet.org.

    Zie Vooraf geïnstalleerde sjablonen voor een lijst met sjablonen die worden verzonden met de .NET SDK.

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.

  • --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 wordt een beschrijving afgedrukt van hoe de opdracht gebruikt moet worden.

  • -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 n[ormal]d[etailed]diag[nostic]. Zie LoggerVerbosity voor meer informatie.

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 --roll-forward latestFeature
    
  • Help weergeven voor de C#-consoletoepassingssjabloon:

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

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

Zie ook