Kurz: Vytvoření šablony projektu

Pomocí .NET můžete vytvářet a nasazovat šablony, které generují projekty, soubory, i prostředky. Tento kurz je druhou částí série, která vás naučí, jak vytvořit, nainstalovat a odinstalovat šablony pro použití s příkazem dotnet new .

Tip

Oficiální šablony .NET, které jsou dodávány se sadou .NET SDK, najdete v následujících úložištích:

Šablony Úložiště
Konzola, knihovna tříd a šablony běžných položek dotnet/sdk
šablony ASP.NET a Blazor dotnet/aspnetcore
ASP.NET jednostrákové šablony aplikací dotnet/spa-templates
Šablony WPF dotnet/wpf
šablony model Windows Forms dotnet/winforms
Testování šablon dotnet/test-templates
Šablony MAUI dotnet/maui

Šablony nainstalované na vašem počítači můžete zobrazit spuštěním dotnet new list příkazu.

V této části série se naučíte:

  • Vytvořte zdroje šablony projektu.
  • Vytvořte složku a soubor konfigurace šablony.
  • Nainstalujte šablonu z cesty k souboru.
  • Otestujte šablonu položky.
  • Odinstalujte šablonu položky.

Požadavky

  • Dokončete 1 . část této série kurzů.
  • Otevřete terminál a přejděte do složky working\content .

Důležité

Tento článek je napsán pro .NET 7. Platí ale také pro .NET 6 a předchozí verze s jedním rozdílem: dotnet new Syntaxe se liší. Příkazy list, , installsearcha uninstall dílčí příkazy by měly být --list, --search--install, a --uninstall možnosti, v uvedeném pořadí.

Například příkaz dotnet new install v .NET 7 se stane dotnet new --install v .NET 6. dotnet new --help Pomocí příkazu zobrazíte seznam všech možností a dílčích příkazů.

Vytvoření šablony projektu

Šablony projektů vytvářejí projekty připravené ke spuštění, které uživatelům usnadňují zahájení práce se sadou kódu. .NET obsahuje několik šablon projektů, jako je konzolová aplikace nebo knihovna tříd. V tomto příkladu vytvoříte nový projekt konzolové aplikace, který nahradí standardní výstup konzoly "Hello World" výstupem, který běží asynchronně.

V terminálu přejděte do složky working\content a vytvořte novou podsložku s názvem consoleasync. Zadejte podsložku a spusťte dotnet new console ji a vygenerujte standardní konzolovou aplikaci. Upravíte soubory vytvořené touto šablonou a vytvoříte novou šablonu.

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

Úprava souboru Program.cs

Otevřete soubor Program.cs. Standardní projekt konzoly nesynchronně zapisuje do výstupu konzoly, takže ho přidáme. Změňte kód na následující a uložte soubor:

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

Teď, když máte obsah vytvořené šablony, musíte vytvořit konfiguraci šablony v kořenové složce šablony.

Vytvoření konfigurace šablony

V tomto kurzu se složka šablony nachází v pracovní\content\consoleasync.

Šablony jsou rozpoznány rozhraním .NET, protože mají speciální složku a konfigurační soubor v kořenovém adresáři vaší složky šablony.

Nejprve vytvořte novou podsložku s názvem .template.config a zadejte ji. Pak vytvořte nový soubor s názvem template.json. Struktura složek by měla vypadat takto:

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

Otevřete soubor template.json pomocí svého oblíbeného textového editoru a vložte následující kód JSON a uložte ho.

{
  "$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"
  }
}

Tento konfigurační soubor obsahuje všechna nastavení šablony. Můžete vidět základní nastavení, například name a shortName, ale existuje také tags/type hodnota, která je nastavena na project. Tím se šablona kategorizuje jako šablona projektu. Typ šablony, kterou vytvoříte, není nijak omezen. Tyto item hodnoty project jsou běžné názvy, které .NET doporučuje, aby uživatelé mohli snadno filtrovat typ šablony, kterou hledají.

Položka sourceName je to, co je nahrazeno, když uživatel používá šablonu. Hodnota v konfiguračním sourceName souboru se vyhledá v každém názvu souboru a obsahu souboru a ve výchozím nastavení se nahradí názvem aktuální složky. -n Při předání nebo --name parametru dotnet new pomocí příkazu se zadaná hodnota použije místo názvu aktuální složky. V případě této šablony consoleasync se nahradí v názvu souboru .csproj .

Položka classifications představuje sloupec značek , který vidíte při spuštění dotnet new a získání seznamu šablon. Uživatelé také můžou vyhledávat na základě značek klasifikace. Nezaměňujte tags vlastnost v souboru template.json se seznamem classifications značek. Jsou to dva různé koncepty, které jsou bohužel pojmenovány stejně. Úplné schéma pro soubor template.json se nachází v úložišti schémat JSON a je popsáno v referenčních informacích pro template.json. Další informace o souboru template.json najdete na wikiwebu šablon dotnet.

Teď, když máte platný soubor .template.config/template.json , je vaše šablona připravená k instalaci. Před instalací šablony se ujistěte, že odstraníte všechny další složky a soubory, které nechcete zahrnout do šablony, jako jsou složky přihrádky nebo obj . V terminálu přejděte do složky consoleasync a spusťte dotnet new install .\ instalaci šablony umístěné v aktuální složce. Pokud používáte operační systém Linux nebo macOS, použijte lomítko: dotnet new install ./.

dotnet new install .\

Tento příkaz zobrazí seznam nainstalovaných šablon, které by měly zahrnovat vaše.

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

Otestování šablony projektu

Teď, když máte nainstalovanou šablonu projektu, ji otestujte.

  1. Přejděte do testovací složky.

  2. Vytvořte novou konzolovou aplikaci pomocí následujícího příkazu, který vygeneruje pracovní projekt, který můžete snadno otestovat pomocí dotnet run příkazu.

    dotnet new consoleasync -n MyProject
    

    Zobrazí se následující výstup.

    The template "Example templates: async project" was created successfully.
    
  3. Spusťte projekt pomocí následujícího příkazu.

    dotnet run
    

    Zobrazí se následující výstup.

    Hello World with C#
    

Blahopřejeme. Vytvořili jste a nasadili šablonu projektu pomocí .NET. V rámci přípravy na další část této série kurzů odinstalujte šablonu, kterou jste vytvořili. Nezapomeňte také odstranit všechny soubory z testovací složky. Tím se vrátíte k čistému stavu připravenému na další část této série kurzů.

Odinstalace šablony

V terminálu přejděte do složky consoleasync a spuštěním následujícího příkazu odinstalujte šablonu umístěnou v aktuální složce:

  • Ve Windows: dotnet new uninstall .\
  • V Linuxu nebo macOS: dotnet new uninstall ./

Tento příkaz zobrazí seznam odinstalovaných šablon, které by měly zahrnovat vaše.

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

Kdykoli můžete použít dotnet new uninstall seznam nainstalovaných balíčků šablon, včetně každého balíčku šablony, který příkaz odinstaluje.

Další kroky

V tomto kurzu jste vytvořili šablonu projektu. Pokud chcete zjistit, jak zabalit šablony položek i projektů do snadno použitelného souboru, pokračujte v této sérii kurzů.