环境:net6
vs2022
1、创建net6控制台程序:
项目默认csprog:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net6.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
</Project>
修改成web应用程序:
删除节点OutputType,修改目标框架和SDK为Microsoft.NET.Sdk.Web:
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
</Project>
保存编辑,重新加载项目,发现项目已经变为网页项目,Properties下面也出现launchSetting文件
2、创建 Startup.cs (也可任意)
添加方法ConfigureServices、Configure
分别用于容器注入和http、中间件
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
services.AddControllersWithViews();//配置MVC服务
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
app.UseRouting();
app.UseEndpoints(endpoints =>
{
endpoints.MapDefaultControllerRoute();//配置mvc 默认路由
});
}
}
3、配置默认通用主机web主机
static void Main(string[] args)
{
Host
.CreateDefaultBuilder(args)//通用主机
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
})//配置Web主机,用来添加Http请求管道并注入我们需要的服务。
//Http支持
//设置Kestrol服务器为Web服务器
//添加IIS支持
.Build()
.Run();
}