c# - ASP.Net Core 应用程序和 Environment.GetEnvironmentVariables() 奇怪的行为

标签 c# asp.net-core

我在调试 ASP.Net Core 应用程序时注意到 Environment.GetEnvironmentVariables() 输出有一些奇怪的地方。 Environment.GetEnvironmentVariables() 调用为我提供了包含 75 个条目的字典,而在“我的电脑”->“属性”->“环境变量”中配置的环境变量显示的条目非常少,即大约 20 个条目。请检查下面的屏幕截图,其中显示了 Environment.GetEnvironmentVariables() 的输出和我的计算机 -> 属性中的环境变量。 enter image description here 所以我的问题是 Environment.GetEnvironmentVariables() 从哪里获得这些额外的条目。我特别想知道以“ASPNETCORE”开头的条目来源。它是否存储在其他地方。我确信这些额外的条目没有存储在我的应用程序的配置文件中。

最佳答案

不在您的用户或机器上的环境变量在进程上

当您启动应用程序时,Visual Studio 会设置其中的一些。您应该能够在项目的属性中修改它们。

在解决方案资源管理器中右键单击您的项目,然后单击属性

打开调试选项卡,您可以在此处添加/编辑/删除环境变量。

Environment variables in VS project properties

这些环境变量存储在 Properties/launchSettings.json 中。

但是,这个答案并没有完全回答问题,还有一些环境变量来自其他地方。它们可能由 ASP.NET Core 本身/IIS 模块/IIS Express 设置。

关于c# - ASP.Net Core 应用程序和 Environment.GetEnvironmentVariables() 奇怪的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42671061/

相关文章:

c# - 如何将命令绑定(bind)到祖先数据上下文? WPF::MVVM

c# - 按月生成 Crystal 报表?

c# - 在 ASP.NET Core 3 的类库中创建 TagHelper

c# - 如何在单元测试中从测试中传递 UserIdentity

entity-framework - 从对基类的请求中排除派生实体

c# - 从另一个 View 的中心开始到其左边界的水平展开动画

c# - 发布到 Azure 错误 - 错误 : '' , 十六进制值 0x0F 是无效字符。 1 号线,位置 285

c# - VB.Net 调试器 "Make Object ID"函数在哪里?

json - 在 Serilog 中,如何在使用 {Properties} 格式说明符时从 JSON 格式的日志消息中删除空括号?

iis - 即使使用 -enableRule :AppOffline,来自命令行的 Webdeploy 也不会使应用程序脱机