System.Environment.GetEnvironmentVariable-Methoden
Dieser Artikel enthält ergänzende Hinweise zur Referenzdokumentation für diese API.
Die GetEnvironmentVariable Methode ruft den Wert einer Umgebungsvariable aus dem aktuellen Prozess ab.
Bei Namen von Umgebungsvariablen wird die Groß-/Kleinschreibung auf Unix-ähnlichen Systemen beachtet, bei Windows wird jedoch keine Groß-/Kleinschreibung beachtet.
Hinweis
In-Process-Umgebungsänderungen, die von systemeigenen Bibliotheken vorgenommen werden, werden von verwalteten Aufrufern nicht angezeigt. Umgekehrt werden solche Änderungen, die von verwalteten Aufrufern vorgenommen werden, von systemeigenen Bibliotheken nicht angezeigt.
GetEnvironmentVariable(String)-Methode
Die GetEnvironmentVariable(String) Methode ruft nur eine Umgebungsvariable aus dem Umgebungsblock des aktuellen Prozesses ab. Es entspricht dem Aufrufen der GetEnvironmentVariable(String, EnvironmentVariableTarget) Methode mit einem target
Wert von EnvironmentVariableTarget.Process.
Rufen Sie die GetEnvironmentVariables Methode auf, um alle Umgebungsvariablen zusammen mit ihren Werten abzurufen.
Unter Windows-Systemen
Auf Windows-Systemen umfasst der Umgebungsblock des aktuellen Prozesses Folgendes:
Alle Umgebungsvariablen, die vom übergeordneten Prozess bereitgestellt werden, der sie erstellt hat. Beispielsweise erbt eine .NET-Anwendung, die über ein Konsolenfenster gestartet wird, alle Umgebungsvariablen des Konsolenfensters.
Wenn kein übergeordneter Prozess vorhanden ist, werden stattdessen Variablen pro Computer und Umgebungsvariablen pro Benutzer verwendet. Ein neues Konsolenfenster verfügt z. B. über alle Variablen pro Computer und benutzerspezifische Umgebung, die zum Zeitpunkt des Startes definiert wurden.
Alle Variablen, die dem Prozessblock hinzugefügt werden, während der Prozess ausgeführt wird, indem entweder die SetEnvironmentVariable(String, String) Methode oder die SetEnvironmentVariable(String, String, EnvironmentVariableTarget) Methode mit einem
target
Wert von EnvironmentVariableTarget.Processaufgerufen wird. Diese Umgebungsvariablen bleiben bestehen, bis die .NET-Anwendung beendet wird.
Wenn Umgebungsvariablen erstellt werden, nachdem der Prozess gestartet wurde, können Sie diese Methode verwenden, um nur die Variablen abzurufen, die durch Aufrufen der SetEnvironmentVariable(String, String) Methode oder der SetEnvironmentVariable(String, String, EnvironmentVariableTarget) Methode mit dem target
Wert ".EnvironmentVariableTarget.Process" erstellt wurden.
Auf Unix-ähnlichen Systemen
Auf Unix-ähnlichen Systemen umfasst der Umgebungsblock des aktuellen Prozesses die folgenden Umgebungsvariablen:
Alle Umgebungsvariablen, die vom übergeordneten Prozess bereitgestellt werden, der sie erstellt hat. Für .NET-Anwendungen, die über eine Shell gestartet wurden, umfasst dies alle Umgebungsvariablen, die in der Shell definiert sind.
Alle Variablen, die dem Prozessblock hinzugefügt werden, während der Prozess ausgeführt wird, indem entweder die SetEnvironmentVariable(String, String) Methode oder die SetEnvironmentVariable(String, String, EnvironmentVariableTarget) Methode mit einem
target
Wert von EnvironmentVariableTarget.Processaufgerufen wird. Diese Umgebungsvariablen bleiben bestehen, bis die .NET-Anwendung beendet wird.
.NET auf Unix-ähnlichen Systemen unterstützt keine Variablen pro Computer oder Umgebungsvariablen pro Benutzer.
GetEnvironmentVariable(String, EnvironmentVariableTarget)-Methode
Rufen Sie die GetEnvironmentVariables Methode auf, um alle Umgebungsvariablen zusammen mit ihren Werten abzurufen.
Unter Windows-Systemen
Unter Windows gibt der target
Parameter an, ob die Umgebungsvariable aus dem aktuellen Prozess oder aus dem Windows-Betriebssystemregistrierungsschlüssel für den aktuellen Benutzer oder lokalen Computer abgerufen wird. Alle Umgebungsvariablen pro Benutzer und Computer werden automatisch in den Umgebungsblock des aktuellen Prozesses kopiert, ebenso wie alle anderen Umgebungsvariablen, die für den übergeordneten Prozess verfügbar sind, der den .NET-Prozess erstellt hat. Umgebungsvariablen werden jedoch nur dem Umgebungsblock des aktuellen Prozesses hinzugefügt, indem entweder die SetEnvironmentVariable(String, String) Methode oder die SetEnvironmentVariable(String, String, EnvironmentVariableTarget) Methode mit dem target
Wert " EnvironmentVariableTarget.Process Persist" nur für die Dauer des Prozesses aufgerufen wird.
Auf Unix-ähnlichen Systemen
Auf Unix-ähnlichen Systemen unterstützt die GetEnvironmentVariable(String, EnvironmentVariableTarget)
Methode nur den target
Wert EnvironmentVariableTarget.Process . Anrufe mit einem target
Wert von EnvironmentVariableTarget.Machine oder EnvironmentVariableTarget.User werden nicht unterstützt und zurückgegeben null
.
Prozessbezogene Umgebungsvariablen sind:
Die vom übergeordneten Prozess geerbten Elemente, in der Regel die Shell, die zum Aufrufen
dotnet.exe
oder Starten der .NET-Anwendung verwendet wird.Durch Aufrufen der SetEnvironmentVariable(String, String) Methode oder der SetEnvironmentVariable(String, String, EnvironmentVariableTarget) Methode mit einem
target
Wert von EnvironmentVariableTarget.Process. Diese Umgebungsvariablen bleiben nur bestehen, bis derdotnet
Prozess oder die .NET-Anwendung beendet wird.