以C#形式使用XNA内容管道

以C#形式使用XNA内容管道,c#,xna,deserialization,content-pipeline,C#,Xna,Deserialization,Content Pipeline,我试图使用C#表单创建一个游戏编辑器,但在反序列化时遇到了一个问题;我不能在表单应用程序中使用内容管道,因为我甚至没有向项目添加任何内容引用的选项。如何在我的表单应用程序中使用内容管道?是否有其他方法可以加载和反序列化我的XML内容?请查看 基本上,您可以加载并调用相应的microsoft.xna.framework.content类来读取已编译的xnb文件 您可以使用中的名称空间中的类来创建xnb文件(内容项目将为您这样做) 有关内容管道的概述,请参见此处: 是否有其他方法加载和反序列化我的

我试图使用C#表单创建一个游戏编辑器,但在反序列化时遇到了一个问题;我不能在表单应用程序中使用内容管道,因为我甚至没有向项目添加任何内容引用的选项。如何在我的表单应用程序中使用内容管道?是否有其他方法可以加载和反序列化我的XML内容?

请查看

基本上,您可以加载并调用相应的
microsoft.xna.framework.content
类来读取已编译的xnb文件

您可以使用中的名称空间中的类来创建xnb文件(内容项目将为您这样做)

有关内容管道的概述,请参见此处:


是否有其他方法加载和反序列化我的XML内容


是的,可以使用您想要的任何.net序列化方法。

手动编辑.csproj文件,并在第一个
属性组
部分中添加以下内容,该部分包含程序集名称、项目guid等

<ProjectTypeGuids>{6D335F3A-9D43-41b4-9D22-F6F17C4BE596};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
{6D335F3A-9D43-41b4-9D22-F6F17C4BE596};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
您可能还需要添加

<XnaFrameworkVersion>v4.0</XnaFrameworkVersion>
<XnaPlatform>Windows</XnaPlatform>
v4.0
窗户
在VS中重新加载项目,您应该能够向其添加内容引用


其中指定的两个guid分别用于Windows和XNA(Windows)。如果您需要重新确定项目的目标,下面是一个列表(尽管有点过时)。

如果所有内容都要在生成时处理,winforms1示例可能是更好的选择。如果在运行时需要处理任何内容,那么winforms2示例就是最好的选择。因为OP要求在他的winforms one中添加一个内容项目(这将构建资产),所以我选择了第二个示例。非常感谢,这似乎起到了作用;然而,当反序列化时,我得到以下错误:“找不到System.Int32[]的ContentTypeReader。”我假设我错过了某个引用或命名空间包含,但我不知道是什么。有什么想法吗?