我有一个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
设置。在这里,我面临着奇怪的行为:
visual studio
运行应用程序-它看不到我的系统环境变量bin/Debug
从dotnet MyApp.dll
文件夹构建并运行它-它会正确加载变量。我检查了asp.net core
,发现它使用了Environment.GetEnvironmentVariables()
方法,默认情况下(未指定EnvironmentVariableTarget
)从当前过程中检索变量。我不明白为什么从visual studio
运行应用程序时为什么不加载变量?
答案 0 :(得分:1)
重新启动Visual Studio。
您可能只是声明了环境变量,因此Visual Studio看不到它们。