Metodi System.Environment.GetEnvironmentVariable

Questo articolo fornisce osservazioni supplementari alla documentazione di riferimento per questa API.

Il GetEnvironmentVariable metodo recupera il valore di una variabile di ambiente dal processo corrente.

I nomi delle variabili di ambiente fanno distinzione tra maiuscole e minuscole nei sistemi simili a Unix, ma non fanno distinzione tra maiuscole e minuscole in Windows.

Nota

Le modifiche dell'ambiente in-process apportate dalle librerie native non vengono visualizzate dai chiamanti gestiti. Al contrario, tali modifiche apportate dai chiamanti gestiti non vengono visualizzate dalle librerie native.

Metodo GetEnvironmentVariable(String)

Il GetEnvironmentVariable(String) metodo recupera una variabile di ambiente solo dal blocco di ambiente del processo corrente. Equivale a chiamare il GetEnvironmentVariable(String, EnvironmentVariableTarget) metodo con il target valore .EnvironmentVariableTarget.Process

Per recuperare tutte le variabili di ambiente insieme ai relativi valori, chiamare il GetEnvironmentVariables metodo .

Nei sistemi Windows

Nei sistemi Windows il blocco di ambiente del processo corrente include:

  • Tutte le variabili di ambiente fornite dal processo padre che lo ha creato. Ad esempio, un'applicazione .NET avviata da una finestra della console eredita tutte le variabili di ambiente della finestra della console.

    Se non è presente alcun processo padre, vengono invece usate variabili di ambiente per computer e per utente. Ad esempio, una nuova finestra della console include tutte le variabili di ambiente per computer e per utente definite al momento dell'avvio.

  • Tutte le variabili aggiunte al blocco di processo durante l'esecuzione del processo chiamando il SetEnvironmentVariable(String, String) metodo o il SetEnvironmentVariable(String, String, EnvironmentVariableTarget) metodo con un target valore .EnvironmentVariableTarget.Process Queste variabili di ambiente vengono mantenute fino al termine dell'applicazione .NET.

Se le variabili di ambiente vengono create dopo l'avvio del processo, è possibile usare questo metodo per recuperare solo le variabili create chiamando il SetEnvironmentVariable(String, String) metodo o il SetEnvironmentVariable(String, String, EnvironmentVariableTarget) metodo con un target valore .EnvironmentVariableTarget.Process.

Nei sistemi simili a Unix

Nei sistemi simili a Unix, il blocco di ambiente del processo corrente include le variabili di ambiente seguenti:

.NET nei sistemi simili a Unix non supporta variabili di ambiente per computer o per utente.

Metodo GetEnvironmentVariable(String, EnvironmentVariableTarget)

Per recuperare tutte le variabili di ambiente insieme ai relativi valori, chiamare il GetEnvironmentVariables metodo .

Nei sistemi Windows

In Windows, il target parametro specifica se la variabile di ambiente viene recuperata dal processo corrente o dalla chiave del Registro di sistema operativo Windows per l'utente corrente o il computer locale. Tutte le variabili di ambiente per utente e per computer vengono copiate automaticamente nel blocco di ambiente del processo corrente, come sono tutte le altre variabili di ambiente disponibili per il processo padre che ha creato il processo .NET. Tuttavia, le variabili di ambiente aggiunte solo al blocco di ambiente del processo corrente chiamando il SetEnvironmentVariable(String, String) metodo o il SetEnvironmentVariable(String, String, EnvironmentVariableTarget) metodo con un target valore di EnvironmentVariableTarget.Process persistenza solo per la durata del processo.

Nei sistemi simili a Unix

Nei sistemi simili a Unix il GetEnvironmentVariable(String, EnvironmentVariableTarget) metodo supporta solo il target valore EnvironmentVariableTarget.Process . Le chiamate con un target valore di EnvironmentVariableTarget.Machine o EnvironmentVariableTarget.User non sono supportate e restituiscono null.

Le variabili di ambiente per processo sono: