Как включить не скомпилированный контент вместе с программой на C #, опубликованной в Visual Studio - PullRequest
4 голосов
/ 23 февраля 2010

Я пытаюсь опубликовать игру XNA с помощью инструмента публикации Visual Studio. В игре используется какой-то скомпилированный и не скомпилированный контент. В основном, у меня есть уровень, загруженный через сериализацию XML и короткое видео. Эти два файла по существу передаются в потоковом режиме, поэтому они не компилируются. Средство публикации включает в себя скомпилированное содержимое, но любые ссылки на относительные пути не работают, поскольку CurrentDirectory для установленных программ задан в папке AppData.

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

Есть ли способ настроить инструмент публикации, чтобы я мог делать то, что мне нужно? Настройка или что-то? Или мне нужно будет использовать более полнофункциональный инструмент, такой как NSIS?

1 Ответ

7 голосов
/ 23 февраля 2010

Щелкните правой кнопкой мыши по проекту, добавьте существующий ресурс, найдите и выберите файл, который вы хотите добавить. Затем щелкните правой кнопкой мыши файл и выберите «Свойства» и измените «Действие сборки» на содержимое, а «Копировать в выходной каталог» - «Копировать, если новее» (или всегда копировать, если необходимо). Затем вы можете получить к нему доступ, используя относительный путь.

Я использую это для своего XML и могу получить доступ к своему контенту, используя следующий код:

XmlDocument document = new XmlDocument();
document.Load("Resources/DefaultConfig.xml");

Обратите внимание, что мой файл DefaultConfig.xml находится в каталоге "Resoruces", который я создал в Visual Studio (это необязательно, но это помогает мне поддерживать аккуратность моего проекта)

...