ASP.NET Core 코드 생성기 도구(aspnet-codegenerator)

참고 항목

이 문서의 최신 버전은 아닙니다. 현재 릴리스는 이 문서의 .NET 8 버전을 참조 하세요.

Warning

이 버전의 ASP.NET Core는 더 이상 지원되지 않습니다. 자세한 내용은 .NET 및 .NET Core 지원 정책을 참조 하세요. 현재 릴리스는 이 문서의 .NET 8 버전을 참조 하세요.

Important

이 정보는 상업적으로 출시되기 전에 실질적으로 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적, 또는 묵시적인 보증을 하지 않습니다.

현재 릴리스는 이 문서의 .NET 8 버전을 참조 하세요.

dotnet aspnet-codegenerator 명령은 ASP.NET Core 스캐폴딩 엔진을 실행합니다. dotnet aspnet-codegenerator 명령줄에서 스캐폴드하거나 Visual Studio Code를 사용하는 경우 명령을 실행해야 합니다. 이 명령은 기본적으로 스캐폴딩 엔진을 포함하는 Visual Studio에서 스캐폴딩을 사용할 필요가 없습니다.

코드 생성기 도구 설치 및 업데이트

.NET SDK를 설치합니다.

dotnet aspnet-codegenerator는 설치가 필요한 전역 도구입니다. 다음 명령은 ASP.NET Core 코드 생성기 도구의 안정적인 최신 버전을 설치합니다.

dotnet tool install -g dotnet-aspnet-codegenerator

참고 항목

기본적으로 설치할 .NET 이진 파일의 아키텍처는 현재 실행 중인 OS 아키텍처를 나타냅니다. 다른 OS 아키텍처를 지정하려면 dotnet 도구 설치, --arch 옵션을 참조하세요. 자세한 내용은 GitHub 이슈 dotnet/AspNetCore.Docs #29262를 참조하세요.

도구가 이미 설치된 경우 다음 명령은 설치된 .NET Core SDK에서 사용할 수 있는 안정적인 최신 버전으로 도구를 업데이트합니다.

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]

설명

dotnet aspnet-codegenerator 전역 명령은 ASP.NET Core 코드 생성기 및 스캐폴딩 엔진을 실행합니다.

인수

generator

실행할 코드 생성기입니다. 사용 가능한 생성기는 다음 표에 나와 있습니다.

생성기 연산
area 영역을 스캐폴드합니다.
blazor 스캐폴드는 Blazor 페이지를 만들고, 읽고, 업데이트하고, 삭제하고, 나열합니다.
blazor-identity 파일을 생성합니다 BlazorIdentity .
controller 컨트롤러를 스캐폴드합니다.
identity 스캐폴드 .Identity
minimalapi 모델 및 선택적 데이터베이스 컨텍스트가 지정된 엔드포인트 파일(CRUD API 엔드포인트 포함)을 생성합니다.
razorpage 페이지를 스캐폴드합니다Razor.
view 보기를 스캐폴드합니다.
생성기 연산
area 영역을 스캐폴드합니다.
controller 컨트롤러를 스캐폴드합니다.
identity 스캐폴드 .Identity
minimalapi 모델 및 선택적 데이터베이스 컨텍스트가 지정된 엔드포인트 파일(CRUD API 엔드포인트 포함)을 생성합니다.
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

사용할 대상 프레임워크 입니다.

생성기 옵션

다음 섹션에서는 지원되는 생성기에 사용 가능한 옵션에서 설명합니다.

Area 옵션

사용법: dotnet aspnet-codegenerator area {AREA NAME}

{AREA NAME} 자리 표시자는 생성할 영역의 이름입니다.

앞의 명령은 다음 폴더를 생성합니다.

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

도움말 옵션을 -h|--help 사용합니다.

dotnet aspnet-codegenerator area -h

Blazor 옵션

Razor 사용할 템플릿의 이름을 지정하여 앱에 대해 Blazor 구성 요소를 개별적으로 스캐폴딩할 수 있습니다. 지원되는 템플릿은 다음과 같습니다.

  • Empty
  • Create
  • Edit
  • Delete
  • Details
  • List
  • CRUD: CRUD 는 만들기, 읽기, 업데이트 및 삭제의 약어입니다. 템플릿은 CRUD 앱에 Create대한 구성 Edit요소, , DeleteDetailsIndex (List) 구성 요소를 생성합니다.

생성기에 blazor 대한 옵션은 다음 표에 나와 있습니다.

옵션 설명
-dbProvider|--databaseProvider 사용할 데이터베이스 공급자입니다. 옵션에는 sqlserver (기본값), sqlite또는 cosmospostgres.
-dc|--dataContext 사용할 데이터베이스 컨텍스트 클래스입니다.
-m|--model 사용할 모델 클래스입니다.
-ns|--namespaceName 생성된 엔드포인트 파일에 사용할 네임스페이스의 이름을 지정합니다.
--relativeFolderPath|-outDir 상대 출력 폴더 경로입니다. 지정하지 않으면 파일이 프로젝트 폴더에 생성됩니다.

다음 예제를 참조하세요.

  • 템플릿을 Edit 사용하여 앱 폴더에 Components/Pages/MoviePages 구성 요소(Edit.razor)를 생성 Edit 합니다. 폴더가 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

자세한 내용은 ASP.NET Core Blazor QuickGrid 구성 요소를 참조하세요.

BlazorIdentity 옵션

구성 요소를 생성기를 사용하여 앱으로 Blazor 스캐폴드 IdentityRazor 합니다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

Controller 옵션

일반 옵션은 다음 표에 나와 있습니다.

옵션 설명
-b|--bootstrapVersion 부트스트랩 버전을 지정하고 폴더가 없는 경우 부트스트랩 자산에 대한 폴더를 만듭니다 wwwroot .
-dbProvider|--databaseProvider 사용할 데이터베이스 공급자입니다. 옵션 포함 sqlserver (기본값), sqlite, cosmos. postgres
-dc|--dataContext 사용할 데이터베이스 컨텍스트 클래스 또는 생성할 클래스의 이름입니다.
-f|--force 기존 파일을 덮어씁니다.
-l|--layout 사용할 사용자 지정 레이아웃 페이지입니다.
-m|--model 사용할 모델 클래스입니다.
-outDir|--relativeFolderPath 상대 출력 폴더 경로입니다. 지정하지 않으면 파일이 프로젝트 폴더에 생성됩니다.
-scripts|--referenceScriptLibraries 생성된 뷰에서 스크립트 라이브러리를 참조합니다. 페이지에 추가합니다 _ValidationScriptsPartial Create.Edit
-sqlite|--useSqlite 데이터베이스 컨텍스트가 SQL Server 대신 SQLite를 사용해야 하는지 지정하는 플래그입니다.
-udl|--useDefaultLayout 뷰의 기본 레이아웃을 사용합니다.

고유한 controller 옵션은 다음 표에 나와 있습니다.

옵션 설명
-actions|--readWriteActions 모델 없이 읽기/쓰기 동작이 포함된 컨트롤러를 생성합니다.
-api|--restWithNoViews 스타일 API를 사용하여 REST 컨트롤러를 생성합니다. noViews 옵션이 지정된 것으로 간주되며 모든 보기 관련된 옵션이 무시됩니다.
-async|--useAsyncActions 비동기 컨트롤러 작업을 생성합니다.
-name|--controllerName 컨트롤러의 이름입니다.
-namespace|--controllerNamespace 생성된 컨트롤러에 사용할 네임스페이스의 이름을 지정합니다.
-nv|--noViews 보기를 생성하지 않습니다.

도움말 옵션을 -h|--help 사용합니다.

dotnet aspnet-codegenerator controller -h

생성기를 사용하는 controller 예제는 4부를 참조 하고 ASP.NET Core MVC 앱에 모델을 추가합니다.

Identity 옵션

자세한 내용은 ASP.NET Core 프로젝트에서 Identity 스캐폴드를 참조하세요.

최소 API 옵션

템플릿을 사용하여 최소 API 백 엔드를 스캐폴드합니다 minimalapi .

minimalapi 옵션은 다음 표에 나와 있습니다.

옵션 설명
-dbProvider|--databaseProvider 사용할 데이터베이스 공급자입니다. 옵션에는 sqlserver (기본값), sqlite또는 cosmospostgres.
-dc|--dataContext 사용할 데이터베이스 컨텍스트 클래스입니다.
-e|--endpoints 사용할 엔드포인트 클래스(파일 이름이 아님).
-m|--model 사용할 모델 클래스입니다.
-namespace|--endpointsNamespace 생성된 엔드포인트 파일에 사용할 네임스페이스의 이름을 지정합니다.
-o|--open OpenAPI를 사용하도록 설정하려면 이 옵션을 사용합니다.
-outDir|--relativeFolderPath 상대 출력 폴더 경로입니다. 지정하지 않으면 파일이 프로젝트 폴더에 생성됩니다.
-sqlite|--useSqlite 데이터베이스 컨텍스트가 SQL Server 대신 SQLite를 사용해야 하는지 지정하는 플래그입니다.

다음 예제를 참조하세요.

  • 데이터베이스 컨텍스트 클래스 및 모델을 사용하여 ApplicationDbContext 데이터베이스 작업에 매핑되는 API 엔드포인트로 명명된 SpeakersEndpoints 엔드포인트 클래스를 BackEnd.Models.Speaker 생성합니다.
  • 파일(Program.cs)에 Program 추가하여 app.MapSpeakerEndpoints(); 엔드포인트 클래스를 등록합니다.
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 Create.Edit
-sqlite|--useSqlite 데이터베이스 컨텍스트가 SQL Server 대신 SQLite를 사용해야 하는지 지정하는 플래그입니다.
-udl|--useDefaultLayout 뷰의 기본 레이아웃을 사용합니다.

고유한 razorpage 옵션은 다음 표에 나와 있습니다.

옵션 설명
-namespace|--namespaceName 생성된 PageModel 클래스에 사용할 네임스페이스의 이름입니다.
-npm|--noPageModel 템플릿에 대한 Empty 클래스를 PageModel 생성하지 마세요.
-partial|--partialView 부분 보기를 생성합니다. 레이아웃 옵션을 -l -udl 지정하면 무시됩니다.

다음 예제에서는 템플릿을 Edit 사용하여 폴더를 생성 CustomEditPage.cshtmlCustomEditPage.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 Create.Edit
-sqlite|--useSqlite 데이터베이스 컨텍스트가 SQL Server 대신 SQLite를 사용해야 하는지 지정하는 플래그입니다.
-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