Udostępnij za pomocą


Samouczek: tworzenie szablonu projektu

Za pomocą platformy .NET można tworzyć i wdrażać szablony, które generują projekty, pliki i zasoby. Ten samouczek jest drugą częścią serii, która uczy, jak tworzyć, instalować i odinstalować szablony do użycia z poleceniem dotnet new .

Wskazówka

Oficjalne szablony platformy .NET dostarczane z zestawem .NET SDK można znaleźć w następujących repozytoriach:

Szablony Repozytorium
Konsola, biblioteka klas i typowe szablony elementów dotnet/sdk
szablony ASP.NET i Blazor dotnet/aspnetcore
szablony aplikacji jednostronicowych ASP.NET dotnet/spa-templates
Szablony WPF dotnet/wpf
Szablony formularzy systemu Windows dotnet/winforms
Szablony testowe dotnet/test-templates
Szablony MAUI dotnet/maui

Szablony zainstalowane na maszynie można wyświetlić, uruchamiając dotnet new list polecenie .

Z tej części serii dowiesz się, jak wykonywać następujące działania:

  • Utwórz zasoby szablonu projektu.
  • Utwórz folder i plik konfiguracyjny szablonu.
  • Zainstaluj szablon ze ścieżki pliku.
  • Testowanie szablonu elementu.
  • Odinstaluj szablon elementu.

Wymagania wstępne

  • .NET 9 lub nowsza wersja.

  • Ukończ część 1 tej serii samouczków.

  • Otwórz terminal i przejdź do folderu working\content .

Tworzenie szablonu projektu

Szablony projektów tworzą gotowe do uruchomienia projekty, które ułatwiają użytkownikom rozpoczęcie pracy z zestawem kodu. Platforma .NET zawiera kilka szablonów projektów, takich jak aplikacja konsolowa lub biblioteka klas. W tym przykładzie utworzysz nowy projekt aplikacji konsolowej, który zastępuje standardowe dane wyjściowe konsoli "Hello World" danymi wyjściowymi, które są uruchamiane asynchronicznie.

W terminalu przejdź do folderu working\content i utwórz nowy podfolder o nazwie consoleasync. Wprowadź podfolder i uruchom polecenie dotnet new console , aby wygenerować standardową aplikację konsolową. Edytuj pliki utworzone przez ten szablon, aby utworzyć nowy szablon.

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

Zmodyfikuj Program.cs

Otwórz plik Program.cs . Standardowy projekt konsoli nie zapisuje asynchronicznie do wyjścia konsoli, więc dodaj tę funkcjonalność. Zmień kod na następujący i zapisz plik:

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

Po utworzeniu zawartości szablonu należy utworzyć konfigurację szablonu w folderze głównym szablonu.

Tworzenie konfiguracji szablonu

W tym samouczku folder szablonu znajduje się w folderze working\content\consoleasync.

Szablony są rozpoznawane przez platformę .NET, ponieważ mają specjalny folder i plik konfiguracji w folderze głównym folderu szablonu.

Najpierw utwórz nowy podfolder o nazwie .template.configi wprowadź go. Następnie utwórz nowy plik o nazwie template.json. Struktura folderów powinna wyglądać następująco:

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

Otwórz template.json przy użyciu ulubionego edytora tekstów i wklej następujący kod json i zapisz go.

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

Ten plik konfiguracji zawiera wszystkie ustawienia szablonu. Możesz zobaczyć podstawowe ustawienia, takie jak name i shortName, ale istnieje również wartość tags/type, która jest ustawiona na project. Spowoduje to kategoryzowanie szablonu jako szablonu "projektu". Nie ma żadnych ograniczeń dotyczących typu tworzonego szablonu. Wartości item i project to nazwy pospolite zalecane przez platformę .NET, aby użytkownicy mogli łatwo filtrować typ szukanego szablonu.

Element sourceName jest zastępowany, gdy użytkownik używa szablonu. Wartość sourceName w pliku konfiguracji jest wyszukiwana w każdej nazwie pliku i zawartości pliku, a domyślnie jest zastępowana nazwą bieżącego folderu. Po przekazaniu parametru -n lub --name lub dotnet new za pomocą polecenia podana wartość jest używana zamiast nazwy bieżącego folderu. W przypadku tego szablonu consoleasync jest zastępowany w nazwie pliku .csproj.

Element classifications reprezentuje kolumnę tagów widoczną po uruchomieniu dotnet new i pobraniu listy szablonów. Użytkownicy mogą również wyszukiwać na podstawie tagów klasyfikacji. Nie należy mylić tags właściwości w pliku template.json z listą classifications tagów. Są to dwa różne pojęcia, które są niestety takie same. Pełny schemat pliku template.json znajduje się w magazynie schematów JSON i jest opisany w temacie Reference for template.json(Dokumentacja dla template.json). Aby uzyskać więcej informacji na temat pliku template.json, zobacz wiki szablonów .NET.

Teraz, gdy masz prawidłowy plik .template.config/template.json , szablon jest gotowy do zainstalowania. Przed zainstalowaniem szablonu upewnij się, że usunięto wszystkie dodatkowe foldery i pliki, których nie chcesz uwzględnić w szablonie, takich jak pojemnik lub foldery obj . W terminalu przejdź do folderu consoleasync i uruchom polecenie dotnet new install .\ , aby zainstalować szablon znajdujący się w bieżącym folderze. Jeśli używasz systemu operacyjnego Linux lub macOS, użyj ukośnika do przodu: dotnet new install ./.

dotnet new install .\

To polecenie zwraca listę zainstalowanych szablonów, które powinny zawierać Twoje.

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

Testowanie szablonu projektu

Po zainstalowaniu szablonu projektu przetestuj go.

  1. Przejdź do folderu testowego .

  2. Utwórz nową aplikację konsolową za pomocą następującego polecenia, które generuje projekt roboczy, który można łatwo przetestować za dotnet run pomocą polecenia .

    dotnet new consoleasync -n MyProject
    

    Uzyskasz następujące dane wyjściowe.

    The template "Example templates: async project" was created successfully.
    
  3. Uruchom projekt przy użyciu następującego polecenia.

    dotnet run
    

    Uzyskasz następujące dane wyjściowe.

    Hello World with C#
    

Gratulacje! Utworzono i wdrożono szablon projektu przy użyciu platformy .NET. W ramach przygotowań do następnej części tej serii samouczków odinstaluj utworzony szablon. Pamiętaj, aby usunąć wszystkie pliki z folderu testowego . Spowoduje to powrót do wyjściowego stanu, gotowego na następną część tej serii poradników.

Odinstalowywanie szablonu

W terminalu przejdź do folderu consoleasync i uruchom następujące polecenie, aby odinstalować szablon znajdujący się w bieżącym folderze:

  • W systemie Windows: dotnet new uninstall .\
  • W systemie Linux lub macOS: dotnet new uninstall ./

To polecenie zwraca listę odinstalowanych szablonów, które powinny zawierać Twoje.

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

W dowolnym momencie możesz użyć dotnet new uninstall polecenia , aby wyświetlić listę zainstalowanych pakietów szablonów, w tym dla każdego pakietu szablonu polecenie , aby je odinstalować.

Dalsze kroki

W tym samouczku utworzono szablon projektu. Aby dowiedzieć się, jak spakować zarówno element, jak i szablony projektów w łatwy w użyciu plik, kontynuuj tę serię samouczków.