我正在编写一个我想使用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";
}
}
有人在此之前注意到这种错误吗?
答案 0 :(得分:1)
我在一周内遇到了同样的问题,最后决定对整个“组装”部分进行快速检查。
我找到了解决办法!
基本上,当您进入AssemblyInfo.cs时,您将看到所有属性(即标题,描述等)
XNA遗憾地制作的标题不是运行时读者所指的标题。它实际上获得了项目的初始名称,它用于跟踪项目中的应用程序(exe)文件。尝试从头开始重新制作项目,确保保持命名空间与项目相同,永不改变,或者在重新命名您的exe文件时找到它,在项目中的debug / obj文件夹(我相信)。希望我帮忙!
- 将会