ASP.NET Core:AddEnvironmentVariables不会加载变量

时间:2018-12-20 14:39:51

标签: c# asp.net-core environment-variables

我有一个asp.net core应用程序(.NET Core 2.1)。 ConfigureServices类的Startup方法中有一个代码:

Configuration = new ConfigurationBuilder()
    .SetBasePath(_hostingEnvironment.ContentRootPath)
    .AddJsonFile("appsettings.json", false, true)
    .AddJsonFile($"appsettings.{_hostingEnvironment.EnvironmentName}.json", false, true)
    .AddEnvironmentVariables("MyApp:")
    .Build(); 

我还设置了 system 环境变量MyApp:DumpFolder以覆盖DumpFolder中的appsettings.json设置。在这里,我面临着奇怪的行为:

  1. 如果我使用 F5 visual studio运行应用程序-它看不到我的系统环境变量
  2. 如果我使用bin/Debugdotnet MyApp.dll文件夹构建并运行它-它会正确加载变量。

我检查了asp.net core,发现它使用了Environment.GetEnvironmentVariables()方法,默认情况下(未指定EnvironmentVariableTarget)从当前过程中检索变量。我不明白为什么从visual studio运行应用程序时为什么不加载变量?

1 个答案:

答案 0 :(得分:1)

重新启动Visual Studio。

您可能只是声明了环境变量,因此Visual Studio看不到它们。