Поделиться через


средство генератора кода ASP.NET Core (aspnet-codegenerator)

Примечание.

Это не последняя версия этой статьи. В текущем выпуске см . версию .NET 9 этой статьи.

Предупреждение

Эта версия ASP.NET Core больше не поддерживается. Дополнительные сведения см. в политике поддержки .NET и .NET Core. В текущем выпуске см . версию .NET 9 этой статьи.

Внимание

Эта информация относится к предварительному выпуску продукта, который может быть существенно изменен до его коммерческого выпуска. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.

В текущем выпуске см . версию .NET 9 этой статьи.

Команда dotnet aspnet-codegenerator запускает подсистему формирования шаблонов ASP.NET Core. dotnet aspnet-codegenerator Выполнение команды требуется для формирования шаблонов из командной строки или при использовании Visual Studio Code. Команда не требуется использовать шаблон с Visual Studio, который включает подсистему формирования шаблонов по умолчанию.

Установка и обновление средства генератора кода

Установите пакет SDK для .NET.

dotnet aspnet-codegenerator — глобальное средство, которое нужно установить. Следующая команда устанавливает последнюю стабильную версию средства генератора кода ASP.NET Core:

dotnet tool install -g dotnet-aspnet-codegenerator

Примечание.

По умолчанию архитектура двоичных файлов .NET для установки представляет архитектуру операционной системы. Чтобы указать другую архитектуру ОС, см . параметр dotnet tool install, --arch. Дополнительные сведения см. в статье о проблеме GitHub dotnet/AspNetCore.Docs #29262.

Если средство уже установлено, следующая команда обновляет средство до последней стабильной версии, доступной из установленных пакетов SDK для .NET Core:

dotnet tool update -g dotnet-aspnet-codegenerator

Удаление средства генератора кода

Для устранения проблем может потребоваться удалить средство генератора кода ASP.NET Core. Например, если вы установили предварительную версию средства, удалите ее перед установкой выпущенной версии.

Следующие команды удаляют средство генератора кода ASP.NET Core и устанавливают последнюю стабильную версию:

dotnet tool uninstall -g dotnet-aspnet-codegenerator
dotnet tool install -g dotnet-aspnet-codegenerator

Краткие сведения

dotnet aspnet-codegenerator [arguments] [-b|--build-base-path] [-c|--configuration] [-n|--nuget-package-dir] [--no-build] [-p|--project] [-tfm|--target-framework]
dotnet aspnet-codegenerator [-h|--help]

Description

Глобальная команда dotnet aspnet-codegenerator запускает генератор кода и подсистему формирования шаблонов ASP.NET Core.

Аргументы

generator

Запускаемый генератор кода. Доступные генераторы показаны в следующей таблице.

Генератор Операция
area Шаблонов области.
blazor Шаблоны Blazor создают, считывают, обновляют, удаляют и перечисляют страницы.
blazor-identity BlazorIdentity Создает файлы.
controller Формирует шаблон контроллера.
identity Шаблоны Identity.
minimalapi Создает файл конечных точек (с конечными точками API CRUD) с учетом модели и необязательного контекста базы данных.
razorpage Страницы шаблоновRazor.
view Шаблонирует представление.
Генератор Операция
area Шаблонов области.
controller Формирует шаблон контроллера.
identity Шаблоны Identity.
minimalapi Создает файл конечных точек (с конечными точками API CRUD) с учетом модели и необязательного контекста базы данных.
razorpage Страницы шаблоновRazor.
view Шаблонирует представление.

Параметры

-b|--build-base-path

Базовый путь сборки.

-c|--configuration {Debug|Release}

Определяет конфигурацию сборки. Значение по умолчанию — Debug.

-h|--help

Выводит краткую справку по команде.

-n|--nuget-package-dir

Позволяет указать каталог пакета NuGet.

--no-build

Не выполняет сборку проекта перед запуском. Передача --no-build также неявно задает --no-restore флаг.

-p|--project <PATH>

Задает путь к запускаемому файлу проекта (имя папки или полный путь). Если это не указано, средство по умолчанию использует текущий каталог.

-tfm|--target-framework

Целевая платформа, используемая.

Параметры генератора

В следующих разделах подробно описаны параметры, доступные для поддерживаемых генераторов.

Параметры области

Использование: dotnet aspnet-codegenerator area {AREA NAME}

Заполнитель {AREA NAME} — это имя создаваемой области.

Приведенная выше команда создает такие папки:

  • Areas
    • {AREA NAME}
      • Controllers
      • Data
      • Models
      • Views

Используйте параметр справки -h|--help :

dotnet aspnet-codegenerator area -h

Blazor options

Razor Компоненты могут быть отдельно сформированы для Blazor приложений, указав имя используемого шаблона. Поддерживаются такие шаблоны:

  • Empty
  • Create
  • Edit
  • Delete
  • Details
  • List
  • CRUD: CRUD — это акроним для создания, чтения, обновления и удаления. Шаблон CRUD создает Createкомпоненты , Editи DetailsDelete(List) Index для приложения.

Параметры генератора показаны в следующей blazor таблице.

Вариант Описание
-dbProvider|--databaseProvider Поставщик базы данных для использования. Параметры включают sqlserver (по умолчанию), sqlitecosmos, или postgres.
-dc|--dataContext Используемый класс контекста базы данных.
-m|--model Класс модели, который необходимо использовать.
-ns|--namespaceName Укажите имя пространства имен, используемого для созданного файла конечных точек.
--relativeFolderPath|-outDir Относительный путь к выходной папке. Если этот параметр не задан, файлы создаются в папке проекта.

Следующий пример:

  • Edit Использует шаблон для создания Edit компонента (Edit.razor) в Components/Pages/MoviePages папке приложения. MoviePages Если папка не существует, средство автоматически создает папку.
  • Использует поставщик базы данных SQLite.
  • Используется BlazorWebAppMovies.Data.BlazorWebAppMoviesContext для контекста базы данных.
  • Movie Использует модель.
dotnet aspnet-codegenerator blazor Edit -dbProvider sqlite -dc BlazorWebAppMovies.Data.BlazorWebAppMoviesContext -m Movie -outDir Components/Pages

Используйте параметр справки -h|--help :

dotnet aspnet-codegenerator blazor -h

Пример использования генератора blazor см. в разделе "Создание Blazor приложения базы данных фильма" (обзор).

Дополнительные сведения см. в разделе ASP.NET Компонент QuickGrid CoreBlazor.

BlazorIdentity options

IdentityRazor Компоненты шаблонов в Blazor приложение с генераторомblazor-identity.

Параметры шаблона показаны в следующей blazor-identity таблице.

Вариант Описание
-dbProvider|--databaseProvider Поставщик базы данных для использования. Параметры включают sqlserver (по умолчанию) и sqlite.
-dc|--dataContext Используемый класс контекста базы данных.
-f|--force Используйте этот параметр для перезаписи существующих файлов.
-fi|--files Список разделенных точками с запятой файлов в шаблон. -lf|--listFiles Используйте этот параметр, чтобы просмотреть доступные параметры.
-lf|--listFiles Выводит список файлов, которые можно шаблонировать с помощью -fi|--files параметра.
-rn|--rootNamespace Корневое пространство имен, используемое для создания Identity кода.
-u|--userClass Имя создаваемого класса пользователя.

Используйте параметр справки -h|--help :

dotnet aspnet-codegenerator blazor-identity -h

Параметры контроллера

Общие параметры показаны в следующей таблице.

Вариант Описание
-b|--bootstrapVersion Указывает версию начальной загрузки и создает wwwroot папку для ресурсов Начальной загрузки, если папка отсутствует.
-dbProvider|--databaseProvider Поставщик базы данных для использования. Параметры включают sqlserver (по умолчанию), sqlite, cosmos, postgres.
-dc|--dataContext Класс контекста базы данных, используемый или имя создаваемого класса.
-f|--force Перезаписать существующие файлы.
-l|--layout Страница пользовательского макета для использования.
-m|--model Класс модели, который необходимо использовать.
-outDir|--relativeFolderPath Относительный путь к выходной папке. Если этот параметр не задан, файлы создаются в папке проекта.
-scripts|--referenceScriptLibraries Указание библиотек скриптов в создаваемых представлениях. Добавляет _ValidationScriptsPartial и Edit Create страницы.
-sqlite|--useSqlite Пометка, чтобы указать, должен ли контекст базы данных использовать SQLite вместо SQL Server.
-udl|--useDefaultLayout Использовать макет по умолчанию для представлений.

Параметры, уникальные для controller этого, показаны в следующей таблице.

Вариант Описание
-actions|--readWriteActions Создание контроллера с действиями чтения и записи без модели.
-api|--restWithNoViews Создайте контроллер с REST ПОМОЩЬЮ API стиля. Используется noViews, а все параметры, связанные с представлением, игнорируются.
-async|--useAsyncActions Создание асинхронных действий контроллера.
-name|--controllerName Имя контроллера.
-namespace|--controllerNamespace Укажите имя пространства имен, используемого для созданного контроллера.
-nv|--noViews Представления не создаются.

Используйте параметр справки -h|--help :

dotnet aspnet-codegenerator controller -h

Пример использования генератора controller см . в части 4. Добавьте модель в приложение ASP.NET Core MVC.

Identity options

Дополнительные сведения см. в разделе Шаблоны Identity в проектах ASP.NET Core.

Минимальные параметры API

Создание шаблонов для минимальной серверной части API с minimalapi помощью шаблона.

Параметры для minimalapi них показаны в следующей таблице.

Вариант Описание
-dbProvider|--databaseProvider Поставщик базы данных для использования. Параметры включают sqlserver (по умолчанию), sqlitecosmos, или postgres.
-dc|--dataContext Используемый класс контекста базы данных.
-e|--endpoints Класс конечных точек, используемый (а не имя файла).
-m|--model Класс модели, который необходимо использовать.
-namespace|--endpointsNamespace Укажите имя пространства имен, используемого для файла созданных конечных точек.
-o|--open Используйте этот параметр, чтобы включить OpenAPI.
-outDir|--relativeFolderPath Относительный путь к выходной папке. Если этот параметр не задан, файлы создаются в папке проекта.
-sqlite|--useSqlite Пометка, чтобы указать, должен ли контекст базы данных использовать SQLite вместо SQL Server.

Следующий пример:

  • Создает класс конечных точек с именами SpeakersEndpoints конечных точек API, которые сопоставляют операции с базами данных с помощью ApplicationDbContext класса контекста базы данных и BackEnd.Models.Speaker модели.
  • Добавляет app.MapSpeakerEndpoints(); в Program файл (Program.cs) для регистрации класса конечных точек.
dotnet aspnet-codegenerator minimalapi -dc ApplicationDbContext -e SpeakerEndpoints -m BackEnd.Models.Speaker -o

Используйте параметр справки -h|--help :

dotnet aspnet-codegenerator minimalapi -h

Razor Параметры страницы

Шаблоны для страниц Razor Pages можно формировать по отдельности. Для этого нужно указать имя новой страницы и используемый шаблон. Поддерживаются такие шаблоны:

  • Empty
  • Create
  • Edit
  • Delete
  • Details
  • List

Как правило, шаблон и имя созданного файла не указано, что создает следующие шаблоны:

  • Create
  • Edit
  • Delete
  • Details
  • List

Общие параметры показаны в следующей таблице.

Вариант Описание
-b|--bootstrapVersion Указывает версию начальной загрузки и создает wwwroot папку для ресурсов Начальной загрузки, если папка отсутствует.
-dbProvider|--databaseProvider Поставщик базы данных для использования. Параметры включают sqlserver (по умолчанию), sqlite, cosmos, postgres.
-dc|--dataContext Класс контекста базы данных, используемый или имя создаваемого класса.
-f|--force Перезаписать существующие файлы.
-l|--layout Страница пользовательского макета для использования.
-m|--model Класс модели, который необходимо использовать.
-outDir|--relativeFolderPath Относительный путь к выходной папке. Если этот параметр не задан, файлы создаются в папке проекта.
-scripts|--referenceScriptLibraries Указание библиотек скриптов в создаваемых представлениях. Добавляет _ValidationScriptsPartial и Edit Create страницы.
-sqlite|--useSqlite Пометка, чтобы указать, должен ли контекст базы данных использовать SQLite вместо SQL Server.
-udl|--useDefaultLayout Использовать макет по умолчанию для представлений.

Параметры, уникальные для razorpage этого, показаны в следующей таблице.

Вариант Описание
-namespace|--namespaceName Имя пространства имен, используемого для созданного PageModel класса.
-npm|--noPageModel Не создавайте PageModel класс для Empty шаблона.
-partial|--partialView Создание частичного представления. Параметры -l макета и -udl игнорируются, если это указано.

В следующем примере шаблон используется Edit для создания CustomEditPage.cshtml и CustomEditPage.cshtml.cs в папке Pages/Movies :

dotnet aspnet-codegenerator razorpage CustomEditPage Edit -dc RazorPagesMovieContext -m Movie -outDir Pages/Movies

Используйте параметр справки -h|--help :

dotnet aspnet-codegenerator razorpage -h

Пример использования генератора razorpage см . в части 2. Добавьте модель.

Параметры просмотра

Представления можно настроить по отдельности, указав имя представления и шаблона. Поддерживаются такие шаблоны:

  • Empty
  • Create
  • Edit
  • Delete
  • Details
  • List

Общие параметры показаны в следующей таблице.

Вариант Описание
-b|--bootstrapVersion Указывает версию начальной загрузки и создает wwwroot папку для ресурсов Начальной загрузки, если папка отсутствует.
-dbProvider|--databaseProvider Поставщик базы данных для использования. Параметры включают sqlserver (по умолчанию), sqlite, cosmos, postgres.
-dc|--dataContext Класс контекста базы данных, используемый или имя создаваемого класса.
-f|--force Перезаписать существующие файлы.
-l|--layout Страница пользовательского макета для использования.
-m|--model Класс модели, который необходимо использовать.
-outDir|--relativeFolderPath Относительный путь к выходной папке. Если этот параметр не задан, файлы создаются в папке проекта.
-scripts|--referenceScriptLibraries Указание библиотек скриптов в создаваемых представлениях. Добавляет _ValidationScriptsPartial и Edit Create страницы.
-sqlite|--useSqlite Пометка, чтобы указать, должен ли контекст базы данных использовать SQLite вместо SQL Server.
-udl|--useDefaultLayout Использовать макет по умолчанию для представлений.

Параметры, уникальные для view этого, показаны в следующей таблице.

Вариант Описание
-namespace|--controllerNamespace Укажите имя пространства имен, используемого для созданного контроллера.
-partial|--partialView Создание частичного представления. Другие параметры макета (-l и -udl) игнорируются, если это указано.

В следующем примере шаблон используется Edit для создания CustomEditView.cshtml в папке Views/Movies :

dotnet aspnet-codegenerator view CustomEditView Edit -dc MovieContext -m Movie -outDir Views/Movies

Используйте параметр справки -h|--help :

dotnet aspnet-codegenerator view -h