XNA/MonoGame публикует игру, не может загрузить SpriteFont как файл без содержимого

Я закончил делать игру; однако, когда я пытаюсь его опубликовать. Публикуется нормально, но при запуске приложения происходит сбой SpriteFontвведите здесь описание изображения

Пишет, что не удалось найти MyFont.xnb (это SpriteFont в папке содержимого)

Когда я захожу в свои Program Files и смотрю, SpriteFont нигде в моем решении нет. Почему он не строится вместе с остальной программой?

В самом приложении я обязательно включил ресурс, и он отлично работает, если я запускаю программу на своем компьютере. Он вылетает только после того, как я публикую приложение.

Доказательство

Как решить эту проблему?


person Technocrat    schedule 06.09.2014    source источник


Ответы (2)


Попробуйте проверить свойства файла в любом компиляторе, который вы используете.

Например, в визуальной студии:

Убедитесь, что действие сборки настроено на компиляцию.

Убедитесь, что для копирования в выходной каталог установлено что угодно, но не копировать, что по моему опыту является значением по умолчанию для моноигры.

person Mark Randle    schedule 06.09.2014
comment
Я сделал это и даже сделал этот пост: stackoverflow.com/questions/7313764/, но ни один из них не работает. В нем говорится, что не удалось загрузить MyFont.xnb как файл, не содержащий содержимого - внутреннее исключение -> файл не найден. Я открываю папку «Содержимое» в папке «Установка», а файла там нет. Это моя единственная проблема. - person Technocrat; 07.09.2014

Итак, я исправил свою проблему:

Я установил для своего действия сборки файла XNB: «Содержимое» и «Всегда копировать».

Затем при настройке проекта на релиз я использовал InstallShield Limited Edition Deploy.

Когда меня спросили, какие файлы нужно развернуть, я обязательно выбрал «Основной вывод», «Контент» и «Добавить файл» -> «MyFont.xnb», и я добавил его вручную, чтобы убедиться, что он готов к работе.

person Technocrat    schedule 07.09.2014