notes/Notes/AspNetCore/Scaffolding.md
2023-12-12 07:15:33 +08:00

43 lines
1.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# ASP.NET 脚手架和模板
## 什么是脚手架
脚手架是一种代码生成器它可以根据模板生成代码。ASP.NET Core 脚手架是一个基于命令行的代码生成器,它可以生成基于 ASP.NET Core 的 Web 应用程序和代码。脚手架可以生成基于 MVC 和 Web API 的项目,还可以生成基于 Razor Pages 的项目。脚手架还可以生成控制器、视图和数据访问代码,以及用于测试的基础单元测试代码。
## 使用 Visual Studio 生成代码
右键单击项目“文件夹” > “添加” > “已搭建基架的新项”,选择要生成的项,然后单击添加。
## 自定义基架模板
按照惯例Visual Studio 将首先在 MVC 项目中查找 Templates 文件夹,然后再使用计算机级文件夹。
```
%UserProfile%\.nuget\packages\microsoft.visualstudio.web.codegenerators.mvc
```
## 使用命令行工具生成代码
#### 通过以下命令安装工具
```
dotnet tool install -g dotnet-aspnet-codegenerator
```
#### 以下命令演示控制器生成
```
dotnet aspnet-codegenerator controller --controllerName CustomersController --model Customer --dataContext EFContext --relativeFolderPath Controllers --force --useDefaultLayout --referenceScriptLibraries --layout "~/Views/Shared/_Layout.cshtml"
```
### 补充说明
通过源代码生成技术可以实现批量自动化生成,.NET Compiler PlatformRoslynSDK 附带的源生成器。 通过源生成器C# 开发人员可以在编译用户代码时检查用户代码。 生成器可以动态创建项目文件,这些文件还可以添加到用户的编译过程中。
## 微软开源脚手架
https://github.com/dotnet/Scaffolding