为什么“dotnet new webapi”命令不生成控制器文件夹?

har*_*han 2 .net-core dotnet-cli asp.net-core-webapi .net-8.0

使用时dotnet new webapi -n API,它会生成带有propertiesobjbin子文件夹的 API 文件夹,如下面的屏幕截图所示,但它没有Controllers文件夹。有人可以指导我吗?该项目使用.NET 8.0

图片1

Gur*_*ron 5

这似乎是最近 .NET 8 的一项更改,导致默认使用最少的 API 。

来自 dotnet 新模板的文档:webapi(修复了拼写错误 - PR @github):

  • -minimal| --use-minimal-apis
    创建一个使用 ASP.NET Core 最小 API 的项目。默认值为 false,但此选项被 覆盖--controllers。由于默认为--controllersis false,因此在不指定任一选项的情况下输入dotnet new webapi都会创建一个最小的 API 项目
  • -controllers| --use-controllers
    是否使用控制器而不是最少的 API。如果同时指定了此选项 和-minimal,则此选项将覆盖 指定的值-minimal。默认为false. 自 .NET 8 SDK 起可用

因此在命令中添加-controllers/选项来获取控制器:--use-controllers

dotnet new webapi -n API --use-controllers
Run Code Online (Sandbox Code Playgroud)

或者

dotnet new webapi -n API -controllers
Run Code Online (Sandbox Code Playgroud)