/ / XDocument carga con variables de entorno - c #, linq-to-xml

Carga de XDocument con variables de entorno - c #, linq-to-xml

Cuando intento cargar algún archivo XML, con el siguiente código:

XDocument configuration =
XDocument.Load("%NAME_OF_THE_PATH%/Default_TestRunConfiguration.xml");

No puede trabajar, no puede analizar la variable de entorno específica que he especificado. Cuando pego esa variable en el explorador, funciona. ¿Cómo puedo hacer que esto funcione?

Respuestas

3 para la respuesta № 1

Pruebe esto en su lugar:

string path = Environment.ExpandEnvironmentVariables("%NAME_OF_THE_PATH%/Default_TestRunConfiguration.xml");

XDocument configuration = XDocument.Load(path);

Esto funcionará con múltiples variables de entorno, y evita tener que manejarlas especialmente. Esto significa que puede usar el mismo tipo de cadena que usaría en un archivo por lotes.


3 para la respuesta № 2

Utilizar Ambiente.GetEnvironmentVariable, entonces Path.Combine para combinar de forma segura la ruta y el nombre del archivo.

var dir = Environment.GetEnvironmentVariable("someVariableWithYourPath");

XDocument configuration =
XDocument.Load(Path.Combine(dir, "Default_TestRunConfiguration.xml"));

Actualmente, pasa la cadena literal "% NAME_OF_THE_PATH% / Default_TestRunConfiguration.xml" al método, y no sabe que la primera parte representa una variable de entorno.