【发布时间】:2021-03-14 13:17:31
【问题描述】:
我正在使用 .NET Core 3.1 创建一个控制台应用程序,我想要一个 appsettings json 来加载所有 环境,路径,变量,...在执行开始时,然后从其他库类中获取值。 我创建了一个“设置”类,其中包含 appsettings json 中的数据。 这是我在教程中已经看到的,但我无法获得任何价值。
//Start.cs
public class Startup
{
public Startup(IHostingEnvironment env)
{
var builder = new ConfigurationBuilder()
.SetBasePath(env.ContentRootPath)
.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
.AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true)
.AddEnvironmentVariables();
Configuration = builder.Build();
}
public IConfiguration Configuration { get; }
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
}
//Settings.cs
public class Settings
{
public ConnectionStrings ConnectionStrings { get; set; }
public Logging Logging { get; set; }
public AppSettings AppSettings { get; set; }
...
//A class to use it in other lib
public class Extractor
{
private readonly IConfiguration _configuration;
public Extractor(IConfiguration configuration) : this()
{
_configuration = configuration;
Init();
}
public void Init()
{
// Extractor:Min is a variable included in appsettings.json
Min = _configuration.GetValue<int>("Extractor:Min")
}
我无法制作正确的 Main,因为我不知道如何初始化所有内容……我错过了什么?我想我一直在绕圈子做一些简单的事情。提前致谢! 注意:我需要从另一个库类中获取这些变量,而不是在 Main 中。我不知道如何在其他类中初始化“配置”以便使用它。谢谢
【问题讨论】:
标签: c# .net-core startup appsettings