c# - ASP.NET CORE 的环境变量如何注入应用程序 (ASPNETCORE_*)?
问题描述
当我在 Visual Studio 中启动 Asp.Net Core 应用程序时,它会dotnet.exe
以我的 dll 作为参数运行该文件。
此外,我看到应用程序可以访问许多普通控制台应用程序中不可用的不同环境变量,例如ASPNETCORE_CONTENTROOT
. 这个做了一些魔术,允许appsettings.json
直接从项目目录中读取文件,而不是bin/debug
. 我想在我的控制台应用程序中实现相同的功能,以避免将文件复制到bin/debug
文件夹,但我无法弄清楚是什么注入了这些变量。
那么问题来了,这些环境变量究竟是如何出现在 Asp.Net 应用程序中的呢?
我怀疑 WebHost 或一些核心库会这样做,但找不到任何证据或任何代码来弄清楚源目录是如何被读取的。
PS我不是想找出如何通过配置使环境变量可用(例如AddEnvironmentalVariables),而是首先它们如何成为进程本身中的环境变量(以便以后可以通过配置读取) .
我对此感兴趣有两个原因:弄清楚如何ASPNETCORE_CONTENTROOT
设置为控制台应用程序做同样的事情并且出于好奇:)
解决方案
推荐阅读
- javascript - 解析错误;JavaScript中的意外令牌索引
- python-3.x - 在特定字符之间搜索最后一组文本
- bash - Git别名在克隆时自动为个人回购信息添加前缀?
- ios - 每次我在 Swift 中使用它时都必须启动一个 BLE 外围设备
- javascript - 来自 react-router-dom 的提示问题未触发
- mysql - 在存储过程中调用存储过程并将结果设置为变量时出现问题
- typescript - VSCode API:在终端中运行命令并使用输出
- python - 如何在 PyQt5 中为屏幕上的点移动设置动画
- javascript - 如何在 URL 中调用 echo 包括?
- django - TemplateDoesNotExist django 休息框架