Quando tento carregar algum arquivo XML, com o próximo código:
XDocument configuration =
XDocument.Load("%NAME_OF_THE_PATH%/Default_TestRunConfiguration.xml");
Ele não parece funcionar, não é possível analisar a variável de ambiente específica que eu especifiquei. Quando colo essa variável no explorer, ela funciona. Como posso fazer isso funcionar?
Respostas:
3 para resposta № 1Tente isso:
string path = Environment.ExpandEnvironmentVariables("%NAME_OF_THE_PATH%/Default_TestRunConfiguration.xml");
XDocument configuration = XDocument.Load(path);
Isso funcionará com várias variáveis de ambiente e evita que você tenha que lidar com elas especialmente. Isso significa que você pode usar o mesmo tipo de seqüência de caracteres que você faria em um arquivo em lotes.
3 para resposta № 2
Usar Environment.GetEnvironmentVariable, então Path.Combine para combinar com segurança o caminho e o nome do arquivo.
var dir = Environment.GetEnvironmentVariable("someVariableWithYourPath");
XDocument configuration =
XDocument.Load(Path.Combine(dir, "Default_TestRunConfiguration.xml"));
Atualmente, você passa a string literal "% NAME_OF_THE_PATH% / Default_TestRunConfiguration.xml" para o método e não sabe que a primeira parte representa uma variável de ambiente.