当我尝试加载一些XML文件时,使用下一个代码:
XDocument configuration =
XDocument.Load("%NAME_OF_THE_PATH%/Default_TestRunConfiguration.xml");
它没有接缝工作,它无法解析我指定的特定环境变量。当我将该变量粘贴到资源管理器中时,它可以工作。我怎样才能做到这一点?
答案 0 :(得分:3)
使用Environment.GetEnvironmentVariable,然后使用Path.Combine安全地合并路径和文件名。
var dir = Environment.GetEnvironmentVariable("someVariableWithYourPath");
XDocument configuration =
XDocument.Load(Path.Combine(dir, "Default_TestRunConfiguration.xml"));
目前,您传递文字字符串"%NAME_OF_THE_PATH%/ Default_TestRunConfiguration.xml"对于该方法,它并不知道第一部分代表一个环境变量。
答案 1 :(得分:3)
请改为尝试:
string path = Environment.ExpandEnvironmentVariables("%NAME_OF_THE_PATH%/Default_TestRunConfiguration.xml");
XDocument configuration = XDocument.Load(path);
这将适用于多个环境变量,并避免您必须专门处理它们。 这意味着您可以使用与批处理文件中相同类型的字符串。