Коли я намагаюся завантажити якийсь XML-файл, з наступним кодом:
XDocument configuration =
XDocument.Load("%NAME_OF_THE_PATH%/Default_TestRunConfiguration.xml");
Це doesn "t шви для роботи, вона не може розібрати конкретну змінну середовища, що я вказав. Коли я вставляю цю змінну в explorer, він працює.
Відповіді:
3 для відповіді № 1Спробуйте це замість:
string path = Environment.ExpandEnvironmentVariables("%NAME_OF_THE_PATH%/Default_TestRunConfiguration.xml");
XDocument configuration = XDocument.Load(path);
Це буде працювати з кількома змінними середовища, і уникає того, що ви повинні обробляти їх спеціально. Це означає, що ви можете використовувати той же тип рядка, що й у пакетному файлі.
3 для відповіді № 2
Використовуйте Environment.GetEnvironmentVariable, потім Шлях безпечно поєднувати шлях і ім'я файлу.
var dir = Environment.GetEnvironmentVariable("someVariableWithYourPath");
XDocument configuration =
XDocument.Load(Path.Combine(dir, "Default_TestRunConfiguration.xml"));
Наразі ви передаєте метод "% NAME_OF_THE_PATH% / Default_TestRunConfiguration.xml", і він не знає, що перша частина являє собою змінну середовища.