Wenn ich versuche, eine XML-Datei mit dem nächsten Code zu laden:
XDocument configuration =
XDocument.Load("%NAME_OF_THE_PATH%/Default_TestRunConfiguration.xml");
Es scheint nicht zu funktionieren, es kann die von mir angegebene spezifische Umgebungsvariable nicht analysieren. Wenn ich diese Variable in den Explorer einfüge, funktioniert sie.
Antworten:
3 für die Antwort № 1Versuchen Sie es stattdessen:
string path = Environment.ExpandEnvironmentVariables("%NAME_OF_THE_PATH%/Default_TestRunConfiguration.xml");
XDocument configuration = XDocument.Load(path);
Dies funktioniert mit mehreren Umgebungsvariablen und vermeidet, dass Sie sie speziell behandeln müssen. Dies bedeutet, dass Sie dieselbe Art von Zeichenfolge verwenden können wie in einer Batchdatei.
3 für die Antwort № 2
Benutzen Environment.GetEnvironmentVariable, dann Pfad.Kombination um den Pfad und den Dateinamen sicher zu kombinieren.
var dir = Environment.GetEnvironmentVariable("someVariableWithYourPath");
XDocument configuration =
XDocument.Load(Path.Combine(dir, "Default_TestRunConfiguration.xml"));
Derzeit übergeben Sie die Literalzeichenfolge "% NAME_OF_THE_PATH% / Default_TestRunConfiguration.xml" an die Methode, und der erste Teil steht nicht für eine Umgebungsvariable.