练习 - 从模板创建 ASP.NET Core Web 应用项目

已完成

通过学习本练习,你将能够:

  • 从模板创建 ASP.NET Core Web 应用项目。
  • 检查已创建项目的结构。

使用模板创建 ASP.NET Core Web 应用

在 Visual Studio Code 中,创建新项目:

  1. 选择“资源管理器”视图

    选择“资源管理器”视图的屏幕截图。

  2. 选择“创建 .NET 项目”按钮。 或者,可以使用 Ctrl++ 打开“命令面板”,然后键入“.NET”,查找并选择“.NET: 新建项目”命令。

    选择“创建 .NET 项目”的屏幕截图。

  3. 从列表中选择“ASP.NET Core 空”项目模板

  4. 在“项目位置”对话框中,创建名为 的文件夹以包含项目MyWebApp

  5. 在“命令面板”中,将项目命名为 ,包括匹配大写MyWebApp。 使用此确切的项目名称非常重要,以确保此指令中的代码命名空间与你的命名空间匹配。

  6. 从“命令面板”中选择“创建项目”

检查项目结构

MyWebApp 项目文件夹内容显示在 Visual Studio Code 资源管理器中

Visual Studio Code 资源管理器中项目文件的屏幕截图。

在终端或命令行中,创建新项目:

  1. 更改为将包含项目的目录 (cd)。

  2. 通过运行 .NET CLI 命令 ,在名为 MyWebApp 的目录中创建 ASP.NET Core Web 应用dotnet new

    dotnet new web -o MyWebApp
    

    将在名为 MyWebApp 的目录中创建一个新的 ASP.NET Core 空 Web 项目

    以下概述了命令语法:

    • dotnet new:.NET CLI 命令,用于根据模板(例如项目、解决方案、库、配置和其他专用文件)创建各种 .NET 开发项目。
    • web:用于创建 ASP.NET Core 空 Web 项目(不含示例内容)的项目模板。 web.NET SDK 中提供的多个内置项目模板之一。
    • -o:输出选项指定创建新项目的目录:
      • 如果目录不存在,则 .NET CLI 会创建目录。
      • 在其中创建项目的目录用作默认项目名称、命名空间和程序集名称(已编译输出的名称)。
      • 如果未使用输出选项 -o <directory>,则使用当前目录。
  3. 打开 MyWebApp 项目文件夹

检查项目结构

MyWebApp 项目文件夹内容显示在 Visual Studio Code 资源管理器中

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!”