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
--list
opties ,--search
en--install
--uninstall
opties werdenlist
,search
eninstall
uninstall
subopdrachten. - De
--update-apply
optie werd deupdate
subopdracht. - Als u wilt gebruiken
--update-check
, gebruikt u deupdate
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.- Als de CLI geen overeenkomst met een sjabloon kan vinden bij het aanroepen
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 |
MSTest-testproject | mstest |
[C#], F#, VB | Testen/MSTest | 1.0 |
MSTest-testklasse | mstest-class |
[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 --install
van,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 zijn
q[uiet]
,m[inimal]
, endiag[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 --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