2011-12-21 6 views
3

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

ответ

1

вручную редактировать файл .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). Вот список some common project type guids (хотя и слегка устаревший), если вам нужно перенацелить проект вообще.

+0

Спасибо, очень похоже, это сработало; однако при десериализации я получаю следующую ошибку: «Не удается найти ContentTypeReader для System.Int32 []." Я предполагаю, что я пропустил ссылку или пространство имен, где-то, но я не знаю, что. Есть идеи? – Jamie

0

Взгляните на Winforms Series 2: Content Loading AppHub sample.

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

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

Смотрите здесь для обзора конвейера содержимого: What is the Content Pipeline?


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

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

+1

Если весь контент должен обрабатываться во время сборки, выбор winforms1, вероятно, лучший выбор. Если какой-либо контент необходимо обрабатывать во время выполнения, то образец winforms2 - это путь. –

+0

Поскольку OP спрашивал о добавлении проекта контента в его winforms one (который будет строить активы), я пошел на второй образец. –