Dot-Net

如何在 csproj 文件中獲取環境變數?

  • February 5, 2018

我想在 csproj 中獲取環境變數,因為我有一個條件將 appsettings 從發布中排除。

在此處輸入圖像描述 在此處輸入圖像描述

我想要這個,因為我的 appsettings 不依賴於解決方案配置,它們只依賴於環境變數。

而不是 ‘$(Configuration)’ != Debug’ 我想要類似 ’envVariable != Development’ 等的東西。

或者是另一種排除與環境變數有關的文件的方法?

在 C# 中是這種方法:Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT ").

所以我今天遇到了同樣的問題並且很容易讓它工作。當我搜尋此內容時,這是Google上最早的相關結果之一,所以我想我會分享。

實際上,該$()運算符用於解析 .csproj 中的任何變數,但在觸發 MSBuild 時,它也已經植入了環境變數。所以在你的情況下你可以做$(envVariable)or $(ASPNETCORE_ENVIRONMENT)

它們像任何其他.csproj變數一樣被引入。

引用自:https://stackoverflow.com/questions/48618357