Маршрут доступа не найден при попытке вызвать файл, добавленный в моем обозревателе решений - PullRequest
0 голосов
/ 20 декабря 2009
public class Hero
{

    XPathNavigator Navigator;
    XPathDocument HeroInformation;        

    public string GetHeroIcon(string Name)
    {            
        XDocument HeroInformation = XDocument.Load("InformationRepositories/HeroRepository/HeroInformation.xml");
        return HeroInformation.Descendants(Name).Single().Element("Icon").Value;
        //return doc.Descendants(name).Single().Element("Icon").Value;
    }

}

Я получаю сообщение об ошибке в первой строке моего метода. Я не понимаю, почему это не работает, когда адрес четко написан правильно. Я так запутался с этим.

Вот изображение моего обозревателя решений:

alt text

Ответы [ 2 ]

2 голосов
/ 20 декабря 2009

Ваш метод XDocument.Load() имеет видимость для поиска запрошенного файла в папке Bin / debug. вам нужно сделать это, чтобы найти файл проверки в правильном месте.

XDocument HeroInformation = XDocument.Load("../../InformationRepositories/HeroRepository/HeroInformation.xml");
1 голос
/ 20 декабря 2009

Когда ваше приложение выполняется, оно по умолчанию выполняется из каталога bin / Debug или bin / Release. Путь, по которому вы пытаетесь следовать, начинается с этих каталогов. Вы можете использовать полный путь или скопировать структуру файлов / папок в каталог Debug / Release. Вы также можете настроить приложение для компиляции в другой каталог. Environment.CurrentDirectory даст вам каталог, из которого вы выполняете, и оттуда вы можете использовать Path.Combine, чтобы выяснить, где вы ищете файл.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...