dotnet new <TEMPLATE>

Dieser Artikel gilt für: ✔️ .NET Core 3.1 SDK und höher

Name

dotnet new: Erstellt ein neues Projekt, eine Konfigurationsdatei oder eine Lösung auf Grundlage der angegebenen Vorlage.

Übersicht

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

Beschreibung

Der Befehl dotnet new erstellt ein .NET-Projekt oder andere Artefakte auf Grundlage einer Vorlage.

Der Befehl ruft die Vorlagen-Engine zum Erstellen der Elemente auf dem Datenträger auf, die auf der angegebenen Vorlage und den Optionen basieren.

Hinweis

Ab dem .NET 7 SDK hat sich die dotnet new Syntax geändert:

  • Die --listOptionen , --search, --installund --uninstall wurden zu list, searchund installuninstall zu Unterbefehlen.
  • Die --update-apply Option wurde zum update Unterbefehl.
  • Um zu verwenden --update-check, verwenden Sie den update Unterbefehl mit der --check-only Option.

Andere Optionen, die zuvor verfügbar waren, können weiterhin mit ihren jeweiligen Unterbefehlen verwendet werden. Separate Hilfe für jeden Unterbefehl ist über die -h Option oder --help verfügbar: dotnet new <subcommand> --help Listet alle unterstützten Optionen für den Unterbefehl auf.

Darüber hinaus ist die Tabulatorabschlussung jetzt für dotnet newverfügbar. Es unterstützt die Vervollständigung für installierte Vorlagennamen und für die Optionen, die eine ausgewählte Vorlage bietet. Informationen zum Aktivieren der Registerkartenvervollständigung für das .NET SDK finden Sie unter Aktivieren der Registerkartenvervollständigung.

Registerkartenvervollständigung

Ab .NET SDK 7.0.100 ist die Vervollständigung der Registerkarte für dotnet newverfügbar. Es unterstützt die Vervollständigung für installierte Vorlagennamen sowie die Vervollständigung für die Optionen, die eine ausgewählte Vorlage bietet. Informationen zum Aktivieren der Registerkartenvervollständigung für das .NET SDK finden Sie unter Aktivieren der Registerkartenvervollständigung.

Implizite Wiederherstellung

Sie müssen nicht ausführendotnet restore, da sie implizit von allen Befehlen ausgeführt wird, für die eine Wiederherstellung erforderlich ist, zdotnet new. B. , , dotnet build, dotnet run, dotnet testund dotnet publishdotnet pack. Verwenden Sie die Option --no-restore, um die implizite Wiederherstellung zu deaktivieren.

In bestimmten Fällen eignet sich der dotnet restore-Befehl dennoch. Dies ist etwa bei Szenarios der Fall, in denen die explizite Wiederherstellung sinnvoll ist. Beispiele hierfür sind Continuous Integration-Builds in Azure DevOps Services oder Buildsysteme, die den Zeitpunkt für die Wiederherstellung explizit steuern müssen.

Informationen zum Verwalten von NuGet-Feeds finden Sie in der dotnet restoreDokumentation.

Argumente

  • TEMPLATE

    Die Vorlage, die instanziiert werden soll, wenn der Befehl aufgerufen wird. Jede Vorlage verfügt möglicherweise über bestimmte Optionen, die Sie übergeben können. Weitere Informationen finden Sie unter Vorlagenoptionen.

    Sie können dotnet new list ausführen, um eine Liste aller installierten Vorlagen anzuzeigen.

    Ab .NET Core 3.0 SDK bis zum .NET SDK 5.0.300 sucht die CLI nach Vorlagen in NuGet.org, wenn Sie den dotnet new Befehl unter den folgenden Bedingungen aufrufen:

    • Wenn die CLI beim Aufruf von dotnet new keine Übereinstimmung oder Teilübereinstimmung mit einer Vorlage finden kann.
    • Wenn eine neuere Version der Vorlage verfügbar ist. In diesem Fall wird das Projekt oder Artefakt erstellt, wobei die CLI Sie über eine aktualisierte Version der Vorlage warnt.

    Ab .NET SDK 5.0.300 sollte der search Befehl verwendet werden, um in NuGet.org nach Vorlagen zu suchen.

    Die folgende Tabelle zeigt die Vorlagen, die im Lieferumfang des .NET SDK enthalten sind. Die Standardsprache für die Vorlage wird in den Klammern angezeigt. Klicken Sie auf den Kurznamenlink, um die spezifischen Vorlagenoptionen einzusehen.

Vorlagen Kurzname Sprache Tags Eingeführt
Konsolenanwendung console [C#], F#, VB Common/Console 1.0
Klassenbibliothek classlib [C#], F#, VB Common/Library 1.0
WPF-Anwendung wpf [C#], VB Common/WPF 3.0 (5.0 für VB)
WPF-Klassenbibliothek wpflib [C#], VB Common/WPF 3.0 (5.0 für VB)
WPF-Benutzerdefinierte Steuerelementbibliothek wpfcustomcontrollib [C#], VB Common/WPF 3.0 (5.0 für VB)
Bibliothek mit WPF-Benutzersteuerelementen wpfusercontrollib [C#], VB Common/WPF 3.0 (5.0 für VB)
Windows Forms-Anwendung (WinForms) winforms [C#], VB Common/WinForms 3.0 (5.0 für VB)
Windows Forms-Klassenbibliothek (WinForms) winformslib [C#], VB Common/WinForms 3.0 (5.0 für VB)
Workerdienst worker [C#] Common/Worker/Web 3.0
Komponententestprojekt mstest [C#], F#, VB Test/MSTest 1.0
NUnit 3-Testprojekt nunit [C#], F#, VB Test/NUnit 2.1.400
NUnit 3-Testelement nunit-test [C#], F#, VB Test/NUnit 2.2
xUnit-Testprojekt xunit [C#], F#, VB Test/xUnit 1.0
Razor-Komponente razorcomponent [C#] Web/ASP.NET 3.0
Seite „Razor“ 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 Server-App blazorserver [C#] Web/Blazor 3.0
BlazorWebAssembly App blazorwasm [C#] Web/Blazor/WebAssembly 3.1.300
ASP.NET Core leer web [C#], F# Web/Empty 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
ASP.NET Core mit Angular angular [C#] Web/MVC/SPA 2.0
ASP.NET Core mit React.js react [C#] Web/MVC/SPA 2.0
ASP.NET Core mit React.js und Redux reactredux [C#] Web/MVC/SPA 2.0
Razor-Klassenbibliothek razorclasslib [C#] Web/Razor/Library/Razor Class Library 2.1
ASP.NET Core-Web-API webapi [C#], F# Web/WebAPI 1.0
ASP.NET Core: gRPC-Dienst grpc [C#] Web/gRPC 3.0
dotnet: GITIGNORE-Datei gitignore Konfigurationen 3.0
global.json-Datei globaljson Konfigurationen 2.0
NuGet-Konfiguration nugetconfig Konfigurationen 1.0
Dotnet: Manifestdatei des lokalen Tools tool-manifest Konfigurationen 3.0
Web Config webconfig Konfigurationen 1.0
Projektmappendatei sln Lösung 1.0
Protokollpufferdatei proto Web/gRPC 3.0
EditorConfig-Datei editorconfig Config 6.0

Optionen

  • --dry-run

    Es wird eine Zusammenfassung dazu angezeigt, was passiert, wenn der jeweilige Befehl ausgeführt wird und sich eine Vorlagenerstellung ergibt. Verfügbar ab .NET Core 2.2 SDK.

  • --force

    Erzwingt das Generieren von Inhalt, auch wenn dadurch vorhandene Dateien geändert werden. Dies ist erforderlich, wenn die ausgewählte Vorlage vorhandene Dateien im Ausgabeverzeichnis überschreiben würde.

  • -?|-h|--help

    Druckt Hilfe für den Befehl. Kann für den dotnet new-Befehl selbst oder für jede Vorlage aufgerufen werden. Beispielsweise dotnet new mvc --help.

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

    Gibt die Sprache der zu erstellenden Vorlage an. Die akzeptierte Sprache variiert je nach Vorlage (siehe Standardwerte im Abschnitt Argumente). Für einige Vorlagen nicht gültig.

    Hinweis

    Einige Shells interpretieren # als Sonderzeichen. In diesen Fällen müssen Sie den Sprachparameterwert in Klammern setzen. Beispielsweise dotnet new console -lang "F#".

  • -n|--name <OUTPUT_NAME>

    Der Name für die erstellte Ausgabe. Wird kein Name angegeben , wird der Name des aktuellen Verzeichnisses verwendet.

  • -f|--framework <FRAMEWORK>

    Gibt das Zielframework an. Es erwartet einen Zielframeworkmoniker (TFM). Beispiele: "net6.0", "net7.0-macos". Dieser Wert wird in der Projektdatei widerspiegelt.

  • -no-update-check

    Deaktiviert die Suche nach Vorlagenpaketupdates beim Instanziieren einer Vorlage. Verfügbar seit .NET SDK 6.0.100. Beim Instanziieren der Vorlage aus einem Vorlagenpaket, das mithilfe von dotnet new --install installiert wurde, überprüft dotnet new, ob ein Update für die Vorlage vorhanden ist. Ab .NET 6 werden für .NET-Standardvorlagen keine Überprüfungen auf Updates durchgeführt. Installieren Sie zum Aktualisieren von .NET-Standardvorlagen die Patchversion des .NET SDK.

  • -o|--output <OUTPUT_DIRECTORY>

    Speicherort für die generierte Ausgabe. Der Standardwert ist das aktuelle Verzeichnis.

  • --project <PROJECT_PATH>

    Das Projekt, dem die Vorlage hinzugefügt wird. Dieses Projekt wird für die Kontextauswertung verwendet. Wenn nicht angegeben, wird das Projekt in den aktuellen oder übergeordneten Verzeichnissen verwendet. Verfügbar seit .NET SDK 7.0.100.

  • -d|--diagnostics

    Ermöglicht die diagnostische Ausgabe. Verfügbar seit .NET SDK 7.0.100.

  • -v|--verbosity <LEVEL>

    Legt den Ausführlichkeitsgrad für den Befehl fest. Zulässige Werte sind q[uiet], m[inimal], n[ormal] und diag[nostic]. Verfügbar seit .NET SDK 7.0.100.

Vorlagenoptionen

Für jede Vorlage können zusätzliche Optionen definiert sein. Weitere Informationen finden Sie unter .NET-Standardvorlagen für dotnet new.

Beispiele

  • Erstellen Sie ein neues C#-Konsolenanwendungsprojekt:

    dotnet new console
    
  • Erstellen Sie ein F#-Konsolenanwendungsprojekt im aktuellen Verzeichnis:

    dotnet new console --language "F#"
    
  • Erstellen Sie im angegebenen Verzeichnis ein .NET Standard 2.0-Klassenbibliotheksprojekt:

    dotnet new classlib --framework "netstandard2.0" -o MyLibrary
    
  • Erstellen Sie ein neues ASP.NET Core C# MVC-Projekt im aktuellen Verzeichnis ohne Authentifizierung:

    dotnet new mvc -au None
    
  • Erstellen Sie ein neues xUnit-Projekt:

    dotnet new xunit
    
  • Erstellen Sie im aktuellen Verzeichnis die Datei global.json, und legen Sie die SDK-Version auf 3.1.101 fest:

    dotnet new globaljson --sdk-version 3.1.101
    
  • Anzeigen von Hilfe für die C#-Konsolenanwendungsvorlage:

    dotnet new console -h
    
  • Anzeigen von Hilfe für die F#-Konsolenanwendungsvorlage:

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

Siehe auch