Samouczek: tworzenie szablonu projektu
Za pomocą platformy .NET można tworzyć i wdrażać szablony, które generują projekty, pliki, a nawet zasoby. Ten samouczek jest drugą częścią serii, która uczy, jak tworzyć, instalować i odinstalować szablony do użycia z poleceniem dotnet new
.
Napiwek
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 |
Testowanie szablonów | dotnet/test-templates |
Szablony MAUI | dotnet/maui |
Szablony zainstalowane na maszynie można wyświetlić, uruchamiając dotnet new list
polecenie .
W tej części serii dowiesz się, jak wykonywać następujące działania:
- Utwórz zasoby szablonu projektu.
- Utwórz folder konfiguracji szablonu i plik.
- Zainstaluj szablon ze ścieżki pliku.
- Testowanie szablonu elementu.
- Odinstaluj szablon elementu.
Wymagania wstępne
- Ukończ część 1 tej serii samouczków.
- Otwórz terminal i przejdź do folderu working\content .
Ważne
Ten artykuł jest napisany dla platformy .NET 7. Dotyczy to jednak również platformy .NET 6 i poprzednich wersji z jedną różnicą: Składnia dotnet new
jest inna. Polecenia list
, search
, install
i uninstall
podrzędne powinny być --list
odpowiednio opcjami , --search
, --install
i --uninstall
.
Na przykład dotnet new install
polecenie na platformie .NET 7 staje dotnet new --install
się w programie .NET 6. dotnet new --help
Użyj polecenia , aby wyświetlić listę wszystkich opcji i podpolecenia.
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ą. Edytujesz pliki utworzone przez ten szablon, aby utworzyć nowy szablon.
working
└───content
└───consoleasync
consoleasync.csproj
Program.cs
Modyfikowanie pliku Program.cs
Otwórz plik Program.cs . Standardowy projekt konsoli nie jest asynchronicznie zapisywany w danych wyjściowych konsoli, więc dodajmy to. 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.config i 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 plik 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ż tags/type
wartość ustawiona na project
wartość . 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
dotnet new
or --name
za pomocą polecenia podana wartość jest używana zamiast nazwy bieżącego folderu. W przypadku tego szablonu consoleasync
element jest zastępowany nazwą 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 artykule Reference for template.json (Dokumentacja pliku template.json). Aby uzyskać więcej informacji na temat pliku template.json , zobacz witrynę typu wiki dotnet templating.
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.
Przejdź do folderu testowego.
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.
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 czystego stanu gotowego do następnej części tej serii samouczkó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ć.
Następne 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.