Saltar al contenido

¿Cómo obtengo y configuro variables de entorno en C#?

Esta sección ha sido probado por nuestros especialistas así garantizamos la veracidad de nuestro contenido.

Solución:

Utilice la clase System.Environment.

Los métodos

var value = System.Environment.GetEnvironmentVariable(variable [, Target])

y

System.Environment.SetEnvironmentVariable(variable, value [, Target])

hará el trabajo por ti.

El parámetro opcional Target es una enumeración de tipo EnvironmentVariableTarget y puede ser uno de: Machine, Processo User. Si lo omite, el objetivo predeterminado es el proceso actual.

Me encontré con esto mientras trabajaba en una aplicación de consola .NET para leer la variable de entorno PATH y descubrí que usar System.Environment.GetEnvironmentVariable expandirá las variables de entorno automáticamente.

No quería que eso sucediera… eso significa que las carpetas en la ruta como ‘%SystemRoot%system32’ se estaban reescribiendo como ‘C:Windowssystem32’. Para obtener la ruta no expandida, tuve que usar esto:

string keyName = @"SYSTEMCurrentControlSetControlSession ManagerEnvironment";
string existingPathFolderVariable = (string)Registry.LocalMachine.OpenSubKey(keyName).GetValue("PATH", "", RegistryValueOptions.DoNotExpandEnvironmentNames);

Funcionó como un encanto para mí.

Obtener y establecer

Obtener

string getEnv = Environment.GetEnvironmentVariable("envVar");

Establecer

string setEnv = Environment.SetEnvironmentVariable("envvar", varEnv);

valoraciones y comentarios

Si entiendes que ha sido de utilidad este post, nos gustaría que lo compartas con otros programadores de este modo contrubuyes a extender este contenido.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *