找不到内容类型读取器

本文关键字:读取 类型 找不到 | 更新日期: 2023-09-27 18:30:19

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

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

教程可以在这里找到。以下是 SkinnedModel 项目中读取器类的代码:

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 项目中的编写器类中的代码:

[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;
        }
    } 

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

找不到内容类型读取器

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

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

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

  • 项目主(内容链接)
    • 骨架阅读器
    • 骨架

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

  • 项目内容扩展(无法链接循环)
    • 骨架内容(是编写器的输入)
    • 镂空作家
    • 骨架处理器

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

互联网上有一个关于内容管道的相当完整的教程。