ASP.NET Core 코드 생성기 도구(aspnet-codegenerator
)
참고 항목
이 문서의 최신 버전은 아닙니다. 현재 릴리스는 이 문서의 .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
요소, ,Delete
Details
및Index
(List
) 구성 요소를 생성합니다.
생성기에 blazor
대한 옵션은 다음 표에 나와 있습니다.
옵션 | 설명 |
---|---|
-dbProvider|--databaseProvider |
사용할 데이터베이스 공급자입니다. 옵션에는 sqlserver (기본값), sqlite 또는 cosmos postgres . |
-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 또는 cosmos postgres . |
-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.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 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
ASP.NET Core