我在这个错误上找到了很多线程,但我还没有找到解决方案。我正在使用XNAExpert.com中的许多类库,这些库旨在为蒙皮网格设置动画。我正在使用XNA 4.0,Win Xp和Windows编程游戏。这是完整的错误:
找不到ContentTypeReader SkinnedModel.SkeletonReader,SkinnedModel,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null。
可以找到教程here。以下是SkinnedModel项目中reader类的代码:
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Content;
namespace SkinnedModel
{
public class SkeletonReader : ContentTypeReader<Skeleton>
{
protected override Skeleton Read(ContentReader input, Skeleton existingInstance)
{
List<Bone> boneList = input.ReadObject<List<Bone>>();
return new Skeleton(boneList);
}
}
}
以下是SkinnedModelProcessor项目中writer类的代码:
[ContentTypeWriter]
public class SkeletonWriter : ContentTypeWriter<Skeleton>
{
protected override void Write(ContentWriter output, Skeleton value)
{
output.WriteObject(value.BoneList);
}
public override string GetRuntimeReader(TargetPlatform targetPlatform)
{
return typeof(SkeletonReader).AssemblyQualifiedName;
}
}
正如您所看到的,返回的类型是每个读者的程序集限定名称......是否有人知道我可能遇到问题的另一个原因?
答案 0 :(得分:2)
我的解决方案是删除ContentTypeReader并创建一个新的。
我的问题似乎是由于有一个镜像项目(我有Windows游戏库和Windows Phone游戏库)。在Windows客户端上,已成功找到ContentReader,但未在Windows Phone客户端上找到。
答案 1 :(得分:0)
当我读到它时,SkeletonReader对SkeletonWriter来说是已知的。我想不出设置项目的有效方法,所以这是真的。
查看您的ProjectSetup我认为您的程序集未正确链接。 并在GetRuntimeReader中返回一个固定的字符串 - 如果你正确设置项目,你将失去与SkeletonReader的连接。