练习 - 从模板创建 ASP.NET Core Web 应用项目
通过学习本练习,你将能够:
- 从模板创建 ASP.NET Core Web 应用项目。
- 检查已创建项目的结构。
使用模板创建 ASP.NET Core Web 应用
在 Visual Studio Code 中,创建新项目:
选择“资源管理器”视图:
选择“创建 .NET 项目”按钮。 或者,可以使用 Ctrl++ 打开“命令面板”,然后键入“
.NET
”,查找并选择“.NET: 新建项目”命令。从列表中选择“ASP.NET Core 空”项目模板。
在“项目位置”对话框中,创建名为 的文件夹以包含项目
MyWebApp
。在“命令面板”中,将项目命名为 ,包括匹配大写
MyWebApp
。 使用此确切的项目名称非常重要,以确保此指令中的代码命名空间与你的命名空间匹配。从“命令面板”中选择“创建项目”。
检查项目结构
MyWebApp 项目文件夹内容显示在 Visual Studio Code 资源管理器中:
在终端或命令行中,创建新项目:
更改为将包含项目的目录 (
cd
)。通过运行 .NET CLI 命令 ,在名为 MyWebApp 的目录中创建 ASP.NET Core Web 应用
dotnet new
:dotnet new web -o MyWebApp
将在名为 MyWebApp 的目录中创建一个新的 ASP.NET Core 空 Web 项目。
以下概述了命令语法:
打开 MyWebApp 项目文件夹。
检查项目结构
MyWebApp 项目文件夹内容显示在 Visual Studio Code 资源管理器中:
以下部分概述了空 ASP.NET Core 项目的主要项目文件夹和文件:
MyWebApp.csproj 项目文件
.csproj 项目文件用于:
- 配置生成项目的方式
- 指定面向哪个 .NET 版本
- 管理项目依赖项
.sln 解决方案文件
在 Visual Studio Code 中创建或打开 ASP.NET Core 项目(使用 C# 开发工具包扩展)时,将创建 [项目名称].sln 解决方案文件。 [项目名称].sln 解决方案文件包含一个或多个相关项目的信息,其中包括生成信息、设置以及任何与某一特定项目无关的杂项文件。
obj 文件夹
obj
文件夹包含生成系统使用的中间文件,其中包括从源文件生成的已编译对象文件。 最终生成输出放置在生成过程中创建的 bin
文件夹中。
Properties/launchSettings.json 文件
Properties/launchSettings.json 文件包含有关如何在开发过程中启动应用的配置数据。 这些设置包括 applicationUrl
属性,该属性指定应用使用的根 URL,例如 https://localhost:{port}
,其中 {port}
是创建项目时分配的随机本地端口号。
launchSettings.json 文件包含以下配置:
{
"$schema": "https://json.schemastore.org/launchsettings.json",
"profiles": {
"http": {
"commandName": "Project",
"dotnetRunMessages": true,
"launchBrowser": true,
"applicationUrl": "http://localhost:5218",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"https": {
"commandName": "Project",
"dotnetRunMessages": true,
"launchBrowser": true,
"applicationUrl": "https://localhost:7140;http://localhost:5218",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
}
}
Program.cs 文件
Program.cs 文件用作 ASP.NET Core 应用的入口点,并具有多个关键用途,其中包括:
- 主机配置:配置主机,包括设置 Web 服务器。
- 服务注册:将服务添加到应用的功能,例如数据库上下文、记录和特定框架的专用服务。
- 中间件管道配置:将应用的请求处理管道定义为一系列中间件实例。
- 环境配置:为开发、过渡和生产环境设置特定于环境的设置。
在创建的新的空 ASP.NET Core 项目中,Program.cs 文件至少包含以下代码:
var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
app.MapGet("/", () => "Hello World!");
app.Run();
此文件中的以下代码行创建具有预配置默认值的 WebApplicationBuilder
,并生成应用:
var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
app.MapGet()
方法直接定义处理 HTTP GET 请求的终结点:
app.MapGet("/", () => "Hello World!");
app.MapGet("/")
:定义 HTTP GET 请求的路由。
/
指示此路由响应对应用根 URL 发出的请求。 例如 http://localhost:{port}/
,其中 {port}
是项目创建时在 Properties/launchSettings.json 文件中分配的随机分配端口号。
() => "Hello World!"
:用作请求处理器的 Lambda 表达式。 向根 URL 发出 GET 请求时,将执行此 Lambda 表达式,并返回字符串“Hello World!”