首页 新闻 会员 周边

.Net Core控制台程序下,怎么根据环境变量使用不同的配置文件

0
悬赏园豆:20 [已解决问题] 解决于 2018-10-10 14:59

下面这中方式,在Web下是可以的,但是控制台无效

return new ConfigurationBuilder()
                .SetBasePath(Directory.GetCurrentDirectory())
                .AddJsonFile("appsettings.json", true, true)
                .AddJsonFile("appsettings.{env.EnvironmentName}.json", true, true)
                .AddEnvironmentVariables()
                .Build();
IAMOLDLI的主页 IAMOLDLI | 初学一级 | 园豆:154
提问于:2018-10-10 14:20

建议提供可以重现这个问题的代码

dudu 5年前
< >
分享
最佳答案
0

你是怎么设置环境变量的?

收获园豆:20
dudu | 高人七级 |园豆:30994 | 2018-10-10 14:24

找到原因了,根据环境变量加载指定配置文件的功能是在生成WebHost或者运行的时候,而我用的是控制台程序,没有WebHost,所以上面的方式是无效的,需要自己手动处理

IAMOLDLI | 园豆:154 (初学一级) | 2018-10-10 14:51

@oldli: 建议试试 Generic Host ,园子里的参考博文:Asp.net Core 2.1新功能Generic Host(通用主机),了解一下

dudu | 园豆:30994 (高人七级) | 2018-10-10 14:56

@dudu: 好东西啊,谢谢老大~

IAMOLDLI | 园豆:154 (初学一级) | 2018-10-10 14:59
其他回答(1)
0

根据环境变量加载指定配置文件的功能是在生成WebHost或者运行的时候,而我用的是控制台程序,没有WebHost,所以上面的方式是无效的,需要自己手动处理

IAMOLDLI | 园豆:154 (初学一级) | 2018-10-10 14:52
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册