本文提供此 API 參考文件的補充備註。
方法 GetEnvironmentVariable 會從目前進程擷取環境變數的值。
類似 Unix 的系統上,環境變數名稱會區分大小寫,但在 Windows 上不會區分大小寫。
備註
受管理的呼叫端無法察覺到由原生庫所做的環境修改。 相反地,本機程式庫不會看到受管理呼叫者所做的這類修改。
GetEnvironmentVariable(String) 方法
方法 GetEnvironmentVariable(String) 只會從目前進程的環境區塊擷取環境變數。 它相當於以GetEnvironmentVariable(String, EnvironmentVariableTarget)值為target呼叫EnvironmentVariableTarget.Process方法。
若要擷取所有環境變數及其值,請呼叫 GetEnvironmentVariables 方法。
在 Windows 系統上
在 Windows 系統上,目前進程的環境區塊包括:
由創建它的父進程提供給它的所有環境變數。 例如,從主控台視窗啟動的 .NET 應用程式會繼承所有控制台視窗的環境變數。
如果沒有父進程,則會改用每部計算機和每個用戶環境變數。 例如,新的控制台視窗具有啟動時定義的所有每部計算機和每個用戶環境變數。
在進程執行期間,透過呼叫 SetEnvironmentVariable(String, String) 方法或 SetEnvironmentVariable(String, String, EnvironmentVariableTarget) 方法,並設置
target具有 EnvironmentVariableTarget.Process 值,將任何變數加入至進程區塊。 這些環境變數會持續存在,直到 .NET 應用程式終止為止。
如果在進程啟動之後建立環境變數,您可以使用此方法只擷取透過呼叫 SetEnvironmentVariable(String, String) 方法或 SetEnvironmentVariable(String, String, EnvironmentVariableTarget) 具有 target 值EnvironmentVariableTarget.Process 的方法所建立的變數。
在類似 Unix 的系統上
在類似 Unix 的系統上,目前進程的環境區塊包含下列環境變數:
由創建它的父進程提供給它的所有環境變數。 對於從命令行執行的 .NET 應用程式,此過程包括命令行中定義的所有環境變數。
在進程執行期間,透過呼叫 SetEnvironmentVariable(String, String) 方法或 SetEnvironmentVariable(String, String, EnvironmentVariableTarget) 方法,並設置
target具有 EnvironmentVariableTarget.Process 值,將任何變數加入至進程區塊。 這些環境變數會持續存在,直到 .NET 應用程式終止為止。
類似 Unix 系統上的 .NET 不支援每部電腦或每個用戶環境變數。
GetEnvironmentVariable(String, EnvironmentVariableTarget) 方法
若要擷取所有環境變數及其值,請呼叫 GetEnvironmentVariables 方法。
在 Windows 系統上
在 Windows 上 target ,參數會指定環境變數是從目前進程擷取,還是從目前使用者或本機計算機的 Windows作系統登錄機碼擷取。 所有每個使用者和每部計算機環境變數都會自動複製到目前進程的環境區塊中,如同建立 .NET 進程之父進程可用的任何其他環境變數。 不過,僅透過呼叫 SetEnvironmentVariable(String, String) 方法或 SetEnvironmentVariable(String, String, EnvironmentVariableTarget) 方法,並以 target 值作為 EnvironmentVariableTarget.Process ,將環境變數新增至目前進程的環境區塊,這些變數僅在進程持續期間內保存。
在類似 Unix 的系統上
在類似 Unix 的系統上, GetEnvironmentVariable(String, EnvironmentVariableTarget) 方法僅支援 target 的值 EnvironmentVariableTarget.Process 。 不支援具有 target 或 EnvironmentVariableTarget.Machine 值的EnvironmentVariableTarget.User呼叫,並傳回 null。
每個進程環境變數如下:
繼承自父進程,通常是用來調用
dotnet.exe或啟動 .NET 應用程式的命令行界面。藉由呼叫 SetEnvironmentVariable(String, String) 方法或 SetEnvironmentVariable(String, String, EnvironmentVariableTarget) 具有
target值之 方法所定義的方法 EnvironmentVariableTarget.Process。 這些環境變數只會持續到dotnet進程或 .NET 應用程式終止。