gpt4 book ai didi

c# - Dotnet6 摆脱 Main 方法 - 如何在 Dotnet 5 中更改以下内容?

转载 作者:行者123 更新时间:2023-12-05 04:37:08 25 4
gpt4 key购买 nike

<分区>

我有一个连接字符串设置,我在 Dotnet5 和 Dotnet Core 的早期版本中使用它并且工作得很好,但是升级到 Dotnet6 并且我不知道如何使以下工作正常(基本上我使用的连接字符串称为 DBConn 是需要更改的部分 - 从 appsettings.json 读取连接字符串作为典型):

在 Program.cs 文件中:

public class Program
{
public static string DBConn { get; set; }
public static void Main(string[] args)
{
IConfiguration config = new ConfigurationBuilder().AddJsonFile("appsettings.json", true, true).Build();
DBConn = config.GetConnectionString("DBConn");

CreateHostBuilder(args).Build().Run();
}

public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
});
}

在 Dotnet6 中,没有 Program 类或 Main 方法(或以某种方式合并),因此我无法使用编写的数据库连接代码。虽然文档声称 Program.cs 文件是 Main 方法 - 我什至看不到它是如何工作的,也不知道如何做多年来在这里工作的工作。我认为有更好的方法可以从 appsettings.json 文件中获取连接字符串,但我不知道该怎么做(文档仅限于 Dotnet5)

这是 program.cs 在 DotNet6 中的样子:

var builder = WebApplication.CreateBuilder(args);

// Add services to the container.

builder.Services.AddControllers();
// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();

var app = builder.Build();

// Configure the HTTP request pipeline.
if (app.Environment.IsDevelopment())
{
app.UseSwagger();
app.UseSwaggerUI();
}

app.UseHttpsRedirection();

app.UseAuthorization();

app.MapControllers();

app.Run();

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com