Я пытаюсь загрузить файл XML из отдельного проекта;Одним из таких проектов является игровой движок, который вызывает программу чтения XML-документов и получает путь, указывающий относительный каталог к файлу.
From Engine
XDocument doc;
try
{
Stream stream = this.GetType().Assembly.GetManifestResourceStream(path);
doc = XDocument.Load(stream);
}
catch
{
doc = XDocument.Load(path);
}
Из другого проекта
string filePath = "Test.xml";
Npc npc = new Npc("somename", 2,filePath);
Test.xml
находится в корневом каталоге другого проекта.Конструктор Npc
вызывает конструктор объекта Statistics
, который затем вызывает метод, который загружает XDocument
.Когда это происходит, filePath
просто пропускается вниз через слои.
Я посмотрел на это и попробовал пример встроенного ресурса, который в конечном итоге и являетсяпытаясь выполнить, и это не сработало для меня.
Что я здесь не так делаю?
Обновление
Я изменил Text.xml
на Chronos.Text.xml
, так как именно там находится файл,В моем отладчике я вижу, что поток просто возвращает ноль, когда я использую это как путь:
try
{
Stream stream = this.GetType().Assembly.GetManifestResourceStream("Chronos.Test.xml"); //returns null
doc = XDocument.Load(stream); //Exception thrown
}
catch
{
doc = XDocument.Load(path); //File not found
}