Использование XNA Content Pipeline в форме C#

Я пытаюсь создать редактор игр, используя форму C#, и я столкнулся с проблемой, когда дело доходит до десериализации; Я не могу использовать конвейер содержимого в приложении форм, так как у меня даже нет возможности добавить ссылку на контент в проект. Как я могу использовать конвейер контента с моим приложением формы? Есть ли другой способ загрузки и десериализации моего содержимого XML?

2 ответа

Решение

Вручную отредактируйте файл.csproj и добавьте следующее в первый PropertyGroup раздел, содержащий имя сборки, руководство по проекту и т. д.

<ProjectTypeGuids>{6D335F3A-9D43-41b4-9D22-F6F17C4BE596};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>

Вам, вероятно, нужно будет также добавить

<XnaFrameworkVersion>v4.0</XnaFrameworkVersion>
<XnaPlatform>Windows</XnaPlatform>

Перезагрузите проект в VS, и вы сможете добавить к нему ссылки на контент.

Два указанных GUID указаны для Windows и XNA (Windows). Вот список некоторых общих руководств по типу проекта (хотя и немного устаревших), если вам нужно вообще перенаправить проект.

Взгляните на пример Winforms Series 2: загрузка содержимого AppHub.

В основном вы загружаете и вызываете соответствующие microsoft.xna.framework.content классы для чтения ваших скомпилированных файлов xnb.

Вы бы использовали классы в пространствах имен внутри microsoft.xna.framework.content.pipeline создать файлы xnb (что бы сделал контент-проект для вас).

Смотрите здесь для обзора конвейера контента: что такое конвейер контента?


Есть ли другой способ загрузки и десериализации моего содержимого XML?

Да, используйте любой метод сериализации.net, который вы хотите, может быть XDocument,

Другие вопросы по тегам