如何在 csproj 文件中获取环境变量?

Posted

技术标签:

【中文标题】如何在 csproj 文件中获取环境变量?【英文标题】:How to get Environment Variable in csproj file? 【发布时间】:2018-07-15 01:27:09 【问题描述】:

我想在 csproj 中获取 环境变量,因为我有一个条件将 appsettings 从发布中排除。

我想要这个,因为我的 appsettings 不依赖于解决方案配置,它们只依赖于环境变量。

我想要类似 'envVariable != Development' 等的东西,而不是 '$(Configuration)' != Debug'。

或者是另一种排除与环境变量有关的文件的方法吗?

在 C# 中是这个方法:Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT ").

【问题讨论】:

【参考方案1】:

所以我今天遇到了同样的问题并且很容易让它工作。这是我搜索时在 google 上的第一个相关结果之一,所以我想分享一下。

实际上,$() 运算符用于解析 .csproj 中的任何变量,但在触发 MSBuild 时,它也已经植入了环境变量。因此,在您的情况下,您可以使用 $(envVariable)$(ASPNETCORE_ENVIRONMENT)

它们像任何其他 .csproj 变量一样被引入。

【讨论】:

以上是关于如何在 csproj 文件中获取环境变量?的主要内容,如果未能解决你的问题,请参考以下文章

如何在build.gradle中创建文件并设置环境变量并获取文件内的数据?

在Postman中如何获取环境变量?

在Dockerfile中公开具有不同名称的环境变量

如何从.env文件获取环境变量到docker-compose.yml?

使用 awk 从文件或 EV 中获取环境变量以将其用作 EV

如何获取和打印环境变量的值?