【发布时间】:2018-10-05 13:30:12
【问题描述】:
我正在使用 c# .net core 2.1 CONSOLE 应用程序。我可以使用以下方法查看预定义的系统环境变量:
configuration.GetValue<string>("TMP")
但是,当我创建一个新的系统变量时,它对应用程序不可见。
如果我将鼠标悬停在配置上,我会看到 JsonConfigurationProvider 和 EnvironmentVariablesConfigurationProvider,但我创建的并没有列出。
例如,我在我的机器上创建了一个名为 Database 的新系统环境变量。我想我可以调用的是使用 configuration.GetValue("Database")
这就是我加载配置的方式。
configuration = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
.AddEnvironmentVariables().Build();
有什么建议吗?请记住,我使用的是控制台应用程序而不是 ASP.NET。
【问题讨论】:
-
定义变量后是否重启了应用程序?
-
你在哪里定义了一个变量?是否在 appsettings.json 上?系统环境和环境变量不一样,这是两个不同的东西。
-
@SiavashGhanbari,当我悬停配置对象时,它会显示系统环境变量列表。它只是没有显示我刚刚创建的那个。我什至可以修改现有的并且它可以工作,但它不会显示新创建的,即使在系统重新启动后也是如此。
-
我在这里回复了答案:stackoverflow.com/a/52667992/1404642 如果您对此问题还有其他问题,请告诉我。
-
@omajid 是正确的。定义变量后只需要重新启动visual studio。
标签: .net console-application .net-core-2.1