0

我在这个错误上找到了很多线程,但我还没有找到解决方案。我正在使用来自 XNAExpert.com 的许多类库,这些类库旨在为蒙皮网格设置动画。我正在为 Windows 使用 XNA 4.0、Win Xp 和编程游戏。这是完整的错误:

找不到 ContentTypeReader SkinnedModel.SkeletonReader、SkinnedModel、Version=1.0.0.0、Culture=neutral、PublicKeyToken=null。

该教程可以在这里找到。这是 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;
        }
    } 

如您所见,返回的类型是每个读者的程序集限定名称......有人知道我可能遇到麻烦的另一个原因吗?

4

2 回答 2

2

我的解决方案是删除 ContentTypeReader 并创建一个新的。

我的问题似乎是由镜像项目引起的(我有 Windows 游戏库和 Windows Phone 游戏库)。在 Windows 客户端上成功找到了 ContentReader,但在 Windows Phone 客户端上没有。

于 2012-10-01T20:32:11.583 回答
0

当我读到它时,SkeletonWriter 知道 SkeletonReader。我想不出一种有效的方法来设置项目,以便这是真的。

  • 项目主要(内容链接)
    • 骷髅阅读器
    • 骨骼

  • 项目内容(指向 ContentExtendion 的链接)
    • SkeletonFile(已将处理器设置为 SkeletonProcessor)

  • 项目内容扩展(无法链接循环)
    • SkeletonContent(是 Writer 的输入)
    • 骷髅作家
    • 骨架处理器

查看您的 ProjectSetup,我认为您的程序集未正确链接。并在 GetRuntimeReader 中返回一个固定字符串 - 如果您正确设置项目,您将失去与 SkeletonReader 的连接。

互联网上有一个关于内容管道的非常完整的教程

于 2012-07-22T14:10:16.963 回答