2012-12-09 58 views
2

我正在编写一个我想使用ContentTypeReader的游戏。当装载我的模型是这样的:无法使用ContentTypeReader加载模型

terrain = Content.Load<Model>("Text/terrain"); 

我收到以下错误:

Error loading "Text\terrain". Cannot find ContentTypeReader 
AdventureGame.World.HeightMapInfoReader,AdventureGame,Version=1.0.0.0,Culture=neutral. 

我读过,这种错误可以通过在装配的名称空间的造成的,所以我已经把他们赶走除了例外情况仍然会发生。

这是我的内容类:

[ContentTypeWriter] 
public class HeightMapInfoWriter : ContentTypeWriter<HeightmapInfo> 
{ 
    protected override void Write(ContentWriter output, HeightmapInfo value) 
    { 
     output.Write(value.getTerrainScale); 
     output.Write(value.getHeight.GetLength(0)); 
     output.Write(value.getHeight.GetLength(1)); 

     foreach (float height in value.getHeight) 
     { 
      output.Write(height); 
     }  
    } 

    public override string GetRuntimeType(TargetPlatform targetPlatform) 
    { 
     return 
      "AdventureGame.World.Heightmap,AdventureGame,Version=1.0.0.0,Culture=neutral"; 
    } 

    public override string GetRuntimeReader(TargetPlatform targetPlatform) 
    { 
     return 
     "AdventureGame.World.HeightMapInfoReader,AdventureGame,Version=1.0.0.0,Culture=neutral";   
    } 
} 

有谁之前MEED那种错误的?

回答

1

我一周都遇到同样的问题,最后决定对整个“组装”部分做一个快速检查。

我发现了一个修复程序!

从本质上讲,当你进入AssemblyInfo.cs中,你会看到所有属性(即标题,描述等)

标题,由XNA黯然提出,是不是你运行的读者指的是什么。它实际上获取了项目的初始名称,它用于追踪项目中的应用程序(exe)文件。尝试从头开始重新制作您的项目,确保保持您的名称空间与您的项目相同,并且永远不要更改它,或者去重新命名您的exe文件,在您的debug/obj文件夹中找到项目(我相信)。希望我帮助!

- 将会

+0

其实我早已经解决了,但感谢你的回复:) 当你写的是与错误的程序集名称的问题。 – Xaosthetic

+0

很高兴你能想出来:)是啊,哈哈,我认为整个大会设置不好。 – Will