Métodos System.Environment.GetEnvironmentVariable
En este artículo se proporcionan comentarios adicionales a la documentación de referencia de esta API.
El GetEnvironmentVariable método recupera el valor de una variable de entorno del proceso actual.
Los nombres de las variables de entorno distinguen mayúsculas de minúsculas en sistemas similares a Unix, pero no distinguen mayúsculas de minúsculas en Windows.
Nota:
Los autores de llamadas administradas no ven las modificaciones del entorno en proceso realizadas por las bibliotecas nativas. Por el contrario, las bibliotecas nativas no ven estas modificaciones realizadas por los llamadores administrados.
Método GetEnvironmentVariable(String)
El GetEnvironmentVariable(String) método recupera una variable de entorno del bloque de entorno solo del proceso actual. Es equivalente a llamar al GetEnvironmentVariable(String, EnvironmentVariableTarget) método con un target
valor de EnvironmentVariableTarget.Process.
Para recuperar todas las variables de entorno junto con sus valores, llame al GetEnvironmentVariables método .
En sistemas Windows
En los sistemas Windows, el bloque de entorno del proceso actual incluye:
Todas las variables de entorno proporcionadas por el proceso primario que la creó. Por ejemplo, una aplicación .NET iniciada desde una ventana de consola hereda todas las variables de entorno de la ventana de consola.
Si no hay ningún proceso primario, en su lugar se usan variables de entorno por máquina y por usuario. Por ejemplo, una nueva ventana de consola tiene todas las variables de entorno por máquina y por usuario definidas en el momento en que se inició.
Cualquier variable agregada al bloque de proceso mientras se ejecuta el proceso llamando al SetEnvironmentVariable(String, String) método o al SetEnvironmentVariable(String, String, EnvironmentVariableTarget) método con un
target
valor de EnvironmentVariableTarget.Process. Estas variables de entorno se conservan hasta que finaliza la aplicación .NET.
Si las variables de entorno se crean una vez iniciado el proceso, puede usar este método para recuperar solo las variables que se crearon llamando al SetEnvironmentVariable(String, String) método o al SetEnvironmentVariable(String, String, EnvironmentVariableTarget) método con un target
valor .EnvironmentVariableTarget.Process.
En sistemas similares a Unix
En sistemas similares a Unix, el bloque de entorno del proceso actual incluye las siguientes variables de entorno:
Todas las variables de entorno proporcionadas por el proceso primario que la creó. En el caso de las aplicaciones .NET iniciadas desde un shell, esto incluye todas las variables de entorno definidas en el shell.
Cualquier variable agregada al bloque de proceso mientras se ejecuta el proceso llamando al SetEnvironmentVariable(String, String) método o al SetEnvironmentVariable(String, String, EnvironmentVariableTarget) método con un
target
valor de EnvironmentVariableTarget.Process. Estas variables de entorno se conservan hasta que finaliza la aplicación .NET.
.NET en sistemas similares a Unix no admite variables de entorno por máquina o por usuario.
Método GetEnvironmentVariable(String, EnvironmentVariableTarget)
Para recuperar todas las variables de entorno junto con sus valores, llame al GetEnvironmentVariables método .
En sistemas Windows
En Windows, el target
parámetro especifica si la variable de entorno se recupera del proceso actual o de la clave del Registro del sistema operativo Windows para el usuario actual o la máquina local. Todas las variables de entorno por usuario y por máquina se copian automáticamente en el bloque de entorno del proceso actual, como cualquier otra variable de entorno que esté disponible para el proceso primario que creó el proceso de .NET. Sin embargo, las variables de entorno agregadas solo al bloque de entorno del proceso actual llamando al SetEnvironmentVariable(String, String) método o al SetEnvironmentVariable(String, String, EnvironmentVariableTarget) método con un target
valor de EnvironmentVariableTarget.Process persistir solo durante el proceso.
En sistemas similares a Unix
En sistemas similares a Unix, el GetEnvironmentVariable(String, EnvironmentVariableTarget)
método solo admite un target
valor de EnvironmentVariableTarget.Process . Las llamadas con un target
valor de EnvironmentVariableTarget.Machine o EnvironmentVariableTarget.User no se admiten y devuelven null
.
Las variables de entorno por proceso son:
Los heredados del proceso primario, normalmente el shell usado para invocar
dotnet.exe
o iniciar la aplicación .NET.Los definidos mediante una llamada al SetEnvironmentVariable(String, String) método o al SetEnvironmentVariable(String, String, EnvironmentVariableTarget) método con un
target
valor de EnvironmentVariableTarget.Process. Estas variables de entorno solo se conservan hasta que finaliza eldotnet
proceso o la aplicación .NET.