Freigeben über


Tutorial: Erstellen einer Projektvorlage

Mit .NET können Sie Vorlagen erstellen und bereitstellen, die Projekte, Dateien und sogar Ressourcen generieren. Dieses Tutorial ist der zweite Teil einer Reihe, die zeigt, wie Sie Vorlagen für die Verwendung mit dem Befehl dotnet new erstellen, installieren und deinstallieren.

Tipp

Die im Lieferumfang des .NET SDK enthaltenen offiziellen .NET-Vorlagen finden Sie in den folgenden Repositorys:

Vorlagen Repository
Konsole, Klassenbibliothek und allgemeine Elementvorlagen dotnet/sdk
ASP.NET- und Blazor-Vorlagen dotnet/aspnetcore
ASP.NET-Single-Page-Webanwendungen-Vorlagen dotnet/spa-templates
WPF-Vorlagen dotnet/wpf
Windows Forms-Vorlagen dotnet/winforms
Testvorlagen dotnet/test-templates
MAUI-Vorlagen dotnet/maui

Sie können die auf Ihrem Computer installierten Vorlagen mit dem dotnet new list-Befehl anzeigen.

In diesem Teil der Reihe wird Folgendes vermittelt:

  • Erstellen der Ressourcen einer Projektvorlage.
  • Erstellen des Konfigurationsordners und der Konfigurationsdatei der Vorlage.
  • Installieren einer Vorlage unter Verwendung eines Dateipfads.
  • Testen einer Elementvorlage.
  • Deinstallieren einer Elementvorlage.

Voraussetzungen

  • Absolvieren Sie Teil 1 dieser Tutorialreihe.
  • Öffnen Sie ein Terminal, und navigieren Sie zum Ordner working\content.

Wichtig

Dieser Artikel wurde für .NET 7 geschrieben. Er gilt jedoch auch für .NET 6 und frühere Versionen, mit einem Unterschied: Die dotnet new-Syntax ist anders. Die Unterbefehle list, search, install und uninstall sollten jeweils die Optionen --list, --search, --install und --uninstall sein.

Der Befehl dotnet new install in .NET 7 wird z. B. zu dotnet new --install in .NET 6. Verwenden Sie den Befehl dotnet new --help, um eine Liste aller Optionen und Unterbefehle anzuzeigen.

Erstellen einer Projektvorlage

Projektvorlagen ermöglichen die Erstellung sofort einsatzbereiter Projekte, sodass Benutzer ganz einfach mit einer funktionierenden Codegrundlage beginnen können. .NET umfasst einige Projektvorlagen – beispielsweise eine Konsolenanwendung und eine Klassenbibliothek. In diesem Beispiel erstellen Sie ein neues Konsolenprojekt, das die standardmäßige Konsolenausgabe „Hello World“ durch eine asynchron ausgeführte ersetzt.

Navigieren Sie in Ihrem Terminal zum Ordner working\content, und erstellen Sie einen neuen Unterordner mit dem Namen consoleasync. Öffnen Sie den Unterordner, und führen Sie dotnet new console aus, um die Standardkonsolenanwendung zu generieren. Die von dieser Vorlage erstellten Dateien müssen bearbeitet werden, um eine neue Vorlage zu erstellen.

working
└───content
    └───consoleasync
            consoleasync.csproj
            Program.cs

Ändern von „Program.cs“

Öffnen Sie die Datei Program.cs. Da das Standardkonsolenprojekt nicht asynchron in die Konsolenausgabe schreibt, fügen wir dies hinzu. Ändern Sie den Code wie folgt, und speichern Sie die Datei:

// See https://aka.ms/new-console-template for more information
await Console.Out.WriteAsync("Hello World with C#");

Nachdem Sie den Inhalt der Vorlage erstellt haben, müssen Sie als Nächstes im Stammordner der Vorlage die Vorlagenkonfiguration erstellen.

Erstellen der Vorlagenkonfiguration

In diesem Tutorial befindet sich Ihr Vorlagenordner unter working\content\consoleasync.

Vorlagen werden von .NET erkannt, da sie über einen speziellen Ordner und eine Konfigurationsdatei im Stammverzeichnis Ihres Vorlagenordners verfügen.

Erstellen Sie zunächst einen neuen Unterordner namens .template.config, und öffnen Sie ihn. Erstellen Sie anschließend eine neue Datei namens template.json. Ihre Ordnerstruktur sollte wie folgt aussehen:

working
└───content
    └───consoleasync
        └───.template.config
                template.json

Öffnen Sie die Datei template.json in Ihrem bevorzugten Text-Editor, fügen Sie den folgenden JSON-Code ein, und speichern Sie die Datei.

{
  "$schema": "http://json.schemastore.org/template",
  "author": "Me",
  "classifications": [ "Common", "Console" ],
  "identity": "ExampleTemplate.AsyncProject",
  "name": "Example templates: async project",
  "shortName": "consoleasync",
  "sourceName":"consoleasync",
  "tags": {
    "language": "C#",
    "type": "project"
  }
}

Diese Konfigurationsdatei enthält alle Einstellungen für Ihre Vorlage. Neben Grundeinstellungen wie name und shortName enthält die Datei auch einen auf project festgelegten Wert vom Typ tags/type. Dadurch wird Ihre Vorlage als "Projekt"-Vorlage kategorisiert. Sie können eine beliebige Art von Vorlage erstellen. Die Werte item und project sind allgemeine Namen, die von .NET empfohlen werden, damit Benutzer problemlos nach der gesuchten Vorlagenart filtern können.

Das Element sourceName wird ersetzt, wenn der Benutzer die Vorlage verwendet. Der Wert sourceName in der Konfigurationsdatei wird in jedem Dateinamen und Dateiinhalt gesucht und standardmäßig durch den Namen des aktuellen Ordners ersetzt. Wenn der Parameter -n oder --name mit dem Befehl dotnet new übergeben wird, wird der bereitgestellte Wert anstelle des aktuellen Ordnernamens verwendet. Im Fall dieser Vorlage wird consoleasync mit dem Namen der CSPROJ-Datei ersetzt.

Das Element classifications stellt die Spalte Tags dar, die angezeigt wird, wenn Sie dotnet new ausführen und eine Vorlagenliste abrufen. Benutzer können auch anhand von Klassifizierungstags suchen. Die Eigenschaft tags in der JSON-Vorlage-Datei darf nicht mit der classifications-Tagliste verwechselt werden. Es handelt sich um zwei verschiedene Konzepte, die leider gleich benannt wurden. Das vollständige Schema für die JSON-Vorlage-Datei befindet sich im JSON-Schemaspeicher und wird unter Referenz für JSON-Vorlage beschrieben. Weitere Informationen zur Datei template.json finden Sie im Wiki zur Erstellung von .NET-Vorlagen.

Nachdem Sie nun über eine gültige Datei vom Typ .template.config/template.json verfügen, ist die Vorlage installationsbereit. Löschen Sie vor der Installation der Vorlage alle zusätzlichen Ordner und Dateien, die nicht in Ihre Vorlage eingeschlossen werden sollen (wie etwa die Ordner bin und obj). Navigieren Sie in Ihrem Terminal zum Ordner consoleasync, und führen Sie dotnet new install .\ aus, um die Vorlage aus dem aktuellen Ordner zu installieren. Bei Verwenden eines Linux- oder macOS-Betriebssystems muss ein Schrägstrich verwendet werden: dotnet new install ./.

dotnet new install .\

Dieser Befehl gibt eine Liste der installierten Vorlagen aus, die Ihre Vorlage enthalten sollte.

The following template packages will be installed:
   <root path>\working\content\consoleasync

Success: <root path>\working\content\consoleasync installed the following templates:
Templates                                         Short Name               Language          Tags
--------------------------------------------      -------------------      ------------      ----------------------
Example templates: async project                  consoleasync             [C#]              Common/Console

Testen der Projektvorlage

Testen Sie als Nächstes Ihre installierte Projektvorlage.

  1. Navigieren Sie zum Ordner Test.

  2. Erstellen Sie mit dem folgenden Befehl eine neue Konsolenanwendung, die ein funktionierendes Projekt generiert, das Sie mit dem dotnet run-Befehl problemlos testen können.

    dotnet new consoleasync -n MyProject
    

    Sie erhalten die folgende Ausgabe.

    The template "Example templates: async project" was created successfully.
    
  3. Führen Sie das Projekt mithilfe des folgenden Befehls aus.

    dotnet run
    

    Sie erhalten die folgende Ausgabe.

    Hello World with C#
    

Herzlichen Glückwunsch! Sie haben eine Projektvorlage mit .NET erstellt und bereitgestellt. Zur Vorbereitung auf den nächsten Teil der Tutorial-Reihe muss die von Ihnen erstellte Vorlage deinstalliert werden. Löschen Sie außerdem auch alle Dateien aus dem Ordner test. Dies bringt Sie zurück zu einem sauberen Zustand, der für den nächsten Teil dieser Tutorial-Reihe bereit ist.

Deinstallieren der Vorlage

Navigieren Sie in Ihrem Terminal zum Ordner consoleasync, und führen Sie den folgenden Befehl aus, um die Vorlage im aktuellen Ordner zu deinstallieren:

  • Unter Windows:dotnet new uninstall .\
  • Unter Linux oder macOS:dotnet new uninstall ./

Dieser Befehl gibt eine Liste der Vorlagen aus, die deinstalliert wurden. Ihre Vorlage sollte in dieser Liste enthalten sein.

Success: <root path>\working\content\consoleasync was uninstalled.

Sie können jederzeit dotnet new uninstall verwenden, um eine Liste der installierten Vorlagenpakete anzuzeigen, einschließlich des Befehls zum Deinstallieren jedes Vorlagenpakets.

Nächste Schritte

In diesem Tutorial haben Sie eine Projektvorlage erstellt. Im weiteren Verlauf dieser Tutorialreihe erfahren Sie, wie Sie sowohl die Element- als auch die Projektvorlagen in einer praktischen Datei verpacken.