我正在使用带有秘密管理器的.Net核心控制台应用程序。问题是,我需要将ConfigurationRoot (例如connectionString)中包含的一些数据传递给一个库。我所做的是在库上创建一个带有静态字段的类,并在我的控制台应用程序上填充它:
库:
public class MyLibrary
{
public static IConfigurationRoot Config;
}控制台应用:
var builder = new ConfigurationBuilder()
.SetBasePath(PlatformServices.Default.Application.ApplicationBasePath)
.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
.AddUserSecrets()
.AddEnvironmentVariables();
MyLibrary.Config = Configuration;这种方法是正确的,还是有一种最简单的方法?
发布于 2016-12-13 05:05:59
您正在采取适当的方法在应用程序启动时加载appSettings.json。
也许你可以像这样做构造函数注入:
public class MyLibrary
{
private IConfigurationRoot _config;
public MyLibrary(IConfigurationRoot config)
{
_config = config;
}
}在Main()中...
var builder = new ConfigurationBuilder()
.SetBasePath(PlatformServices.Default.Application.ApplicationBasePath)
.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
.AddUserSecrets()
.AddEnvironmentVariables();
var config = builder.Build();
MyLibrary lib = new MyLibrary(config);https://stackoverflow.com/questions/41092593
复制相似问题