在.net框架(4.8)的控制台应用程序中设置appsettings.json并进行转换并在POCO模型中读取

问题描述 投票:0回答:1

我有一个基于 .net 框架的解决方案,该解决方案以控制台应用程序作为入口点以及多个依赖的类库项目。 控制台应用程序提供基于

XML
的配置文件:App.Config 用于管理配置键。

我正在寻找类似于.NET5+/Core 的实现,其中

appsettings.<environment>.json
可用于管理配置键,并且可以根据各自的环境定义值。 由于 .net 框架中没有提供开箱即用的实现,因此我一直在寻找混合实现。

这是我发现的一个解决方案,它使用

ConfigurationBuilder()
Microsoft.Extensions.Configuration;
类并且按预期工作。

我正在努力寻找转换(调试/发布/uat)部分的干净实现。识别环境应该通过全局变量来完成,或者有没有办法使用
Configuration Manager
来指示构建器要使用哪个文件。

c# configuration .net-framework-version appsettings configurationmanager
1个回答
0
投票

我的团队正在使用这样的代码:

var builder = new ConfigurationBuilder();
builder.AddJsonFile("appsettings.json", optional: false, reloadOnChange: false);
builder.AddJsonFile($"appsettings.{environment}.json", optional: true, reloadOnChange: false);
Configuration = builder.Build()

environment
可能来自环境变量或应用程序的
app.config
文件中的设置。我们使用后一种方法,因为我们的一些应用程序使用需要旧的 XML 样式配置文件的功能。

© www.soinside.com 2019 - 2024. All rights reserved.