如何将 `Configuration.GetSection` 从 .NET Core 5 转换为 .NET Core 6?

si *_*ang 4 asp.net-core asp.net-core-6.0

我正在尝试从 .NET Core 5 转换为 .NET Core 6。

在我的 .NET Core 5 中,Startup.cs我有

public class Startup
{
        public IConfiguration Configuration { get; }

        public Startup(IConfiguration configuration)
        {
            Configuration = configuration;
        }

        public void ConfigureServices(IServiceCollection services)
        {
            // ...
            Configuration.GetSection("sectionName")
        }
}
Run Code Online (Sandbox Code Playgroud)

在 .NET Core 6 中,Startup.cs已删除。从https://learn.microsoft.com/en-us/aspnet/core/migration/50-to-60?view=aspnetcore-6.0&tabs=visual-studio,我不知道如何阅读Configuration其中的部分配置文件,appsettings.json.

您能否指出在哪里可以找到在 .NET 6 中执行此操作的示例?

Xin*_*hen 7

在.Net 6中,Configuration已经在Program.cs中进行了配置,您只需要使用:

var builder = WebApplication.CreateBuilder(args);
//.......
builder.Services.Configure<Your model>(configuration.GetSection("sectionName"));
Run Code Online (Sandbox Code Playgroud)

将 appSettings.json 对象映射到类。

或者你可以只使用:

var builder = WebApplication.CreateBuilder(args);
//.......
builder.Configuration.GetSection("sectionName")
Run Code Online (Sandbox Code Playgroud)

读取 中的值appsetting.json