Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
С помощью .NET можно создавать и развертывать шаблоны, которые создают проекты, файлы и ресурсы. Это руководство является частью двух серии, в которой описано, как создавать, устанавливать и удалять шаблоны для использования с командой dotnet new .
Подсказка
Официальные шаблоны .NET, поставляемые с пакетом SDK для .NET, можно найти в следующих репозиториях:
| Шаблоны | Репозиторий |
|---|---|
| Консоль, библиотека классов и общие шаблоны элементов | dotnet/sdk |
| Шаблоны ASP.NET и Blazor | dotnet/aspnetcore |
| ASP.NET шаблоны одностраничных приложений | dotnet/spa-templates |
| Шаблоны WPF | dotnet/wpf |
| Шаблоны Windows Forms | dotnet/winforms |
| Тестовые шаблоны | dotnet/test-templates |
| Шаблоны MAUI | dotnet/maui |
Вы можете просмотреть шаблоны, установленные на компьютере, выполнив dotnet new list команду.
В этой части серии вы узнаете, как:
- Создайте ресурсы шаблона проекта.
- Создайте папку и файл конфигурации шаблона.
- Установите шаблон с указанного пути к файлу.
- Проверьте шаблон элемента.
- Удалите шаблон элемента.
Предпосылки
.NET 9 или более поздней версии.
Выполните часть 1 этой серии учебников.
Откройте терминал и перейдите в папку working\content .
Создание шаблона проектов
Шаблоны проектов создают готовые к выполнению проекты, которые упрощают запуск пользователей с рабочим набором кода. .NET включает несколько шаблонов проектов, таких как консольное приложение или библиотека классов. В этом примере вы создаете новый проект консольного приложения, который заменяет стандартный вывод "Hello World" консоли на асинхронный.
В терминале перейдите в папку working\content и создайте вложенную папку с именем consoleasync. Введите вложенную папку и запустите dotnet new console , чтобы создать стандартное консольное приложение. Измените файлы, созданные этим шаблоном, чтобы создать новый шаблон.
working
└───content
└───consoleasync
consoleasync.csproj
Program.cs
Измените Program.cs
Откройте файл Program.cs . Стандартный проект консоли не выполняет асинхронную запись в консольный вывод, поэтому добавьте эту функциональность. Измените код на следующий и сохраните файл:
// See https://aka.ms/new-console-template for more information
await Console.Out.WriteAsync("Hello World with C#");
Теперь, когда у вас есть содержимое созданного шаблона, необходимо создать конфигурацию шаблона в корневой папке шаблона.
Создание конфигурации шаблона
В этом руководстве каталог шаблона расположен в working\content\consoleasync.
Шаблоны распознаются .NET, так как они имеют специальную папку и файл конфигурации в корне папки шаблона.
Сначала создайте новую вложенную папку с именем .template.config, и перейдите в неё. Затем создайте новый файл с именем template.json. Структура папок должна выглядеть следующим образом:
working
└───content
└───consoleasync
└───.template.config
template.json
Откройте template.json с любимым текстовым редактором и вставьте следующий код JSON и сохраните его.
{
"$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"
}
}
Этот файл конфигурации содержит все параметры шаблона. Вы можете просмотреть основные параметры, такие как name и shortName, но также есть параметр tags/type, который задан project. Это классифицирует ваш шаблон как шаблон проекта. Нет ограничений на тип создаваемого шаблона. Значения item и project являются распространенными именами, которые рекомендует .NET, чтобы пользователи могли легко отбирать нужный тип шаблона.
Элемент sourceName заменяется, когда пользователь использует шаблон. Значение sourceName в файле конфигурации ищется в каждом имени файла и содержимом файлов, и, по умолчанию, заменяется на имя текущей папки. При передаче параметра -n или --name вместе с командой dotnet new значение используется вместо текущего имени папки. В случае с этим шаблоном consoleasync заменяется в названии файла .csproj.
Элемент classifications представляет столбец тегов, который отображается при запуске dotnet new и получении списка шаблонов. Пользователи также могут выполнять поиск на основе тегов классификации. Не путайте tags свойство в файле template.json со списком classifications тегов. Они два разных понятия, которые, к сожалению, называются одинаковыми. Полная схема файла template.json найдена в хранилище схем JSON и описана в справочнике по template.json. Дополнительные сведения о файлеtemplate.json см. вики-сайте dotnet.
Теперь, когда у вас есть действительный файл.template.config/template.json , шаблон готов к установке. Перед установкой шаблона удалите все дополнительные папки и файлы, которые вы не хотите включить в шаблон, например папки bin или obj . В терминале перейдите в папку consoleasync и запустите dotnet new install .\ , чтобы установить шаблон, расположенный в текущей папке. Если вы используете операционную систему Linux или macOS, используйте прямой слеш: dotnet new install ./.
dotnet new install .\
Эта команда выводит список установленных шаблонов, которые должны включать ваши.
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
Тестирование шаблона проекта
Теперь, когда у вас установлен шаблон проекта, протестируйте его.
Перейдите в тестовую папку.
Создайте консольное приложение со следующей командой, которая создает рабочий проект, который можно легко протестировать с помощью
dotnet runкоманды.dotnet new consoleasync -n MyProjectВы получите следующие выходные данные.
The template "Example templates: async project" was created successfully.Запустите проект с помощью следующей команды.
dotnet runВы получите следующие выходные данные.
Hello World with C#
Поздравляю! Вы создали и развернули шаблон проекта с помощью .NET. При подготовке к следующей части этой серии учебников удалите созданный шаблон. Не забудьте удалить все файлы из тестовой папки. Это возвращает вас в изначальное состояние, готовое к следующей части этой серии уроков.
Удалите шаблон
В терминале перейдите в папку consoleasync и выполните следующую команду, чтобы удалить шаблон, расположенный в текущей папке:
-
В Windows:
dotnet new uninstall .\ -
В Linux или macOS:
dotnet new uninstall ./
Эта команда выводит список шаблонов, которые были удалены, которые должны включать ваши.
Success: <root path>\working\content\consoleasync was uninstalled.
В любое время вы можете использовать dotnet new uninstall, чтобы просмотреть список установленных пакетов шаблонов, включая для каждого пакета команду удаления.
Дальнейшие шаги
В этом руководстве вы создавали шаблон проекта. Чтобы узнать, как упаковать шаблоны элементов и проектов в простой файл, перейдите к этой серии учебников.