2012-04-08 23 views
0

Ich habe eine Reihe von Threads zu diesem Fehler gefunden, aber ich habe keine Lösung gefunden. Ich verwende eine Reihe von Klassenbibliotheken von XNAExpert.com, die entworfen wurden, um ein enthäutetes Netz zu animieren. Ich benutze XNA 4.0, Win XP und Programmierspiele für Windows. Hier ist der vollständige Fehler:ContentTypeReader kann nicht gefunden werden

ContentTypeReader kann nicht gefunden werden SkinnedModel.SkeletonReader, SkinnedModel, Version = 1.0.0.0, Culture = neutral, PublicKeyToken = null.

Das Lernprogramm kann here gefunden werden. Hier ist der Code aus der Leserklasse innerhalb SkinnedModel Projekt:

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

Hier ist der Code, der Schriftsteller Klasse aus SkinnedModelProcessor Projekt:

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

Wie Sie den Typ sehen zurückgegeben wird die Versammlung qualifiziert Name für jeden Leser ... Kennt jemand einen anderen Grund, warum ich vielleicht Probleme habe?

Antwort

0

Wie ich es gelesen habe, ist der SkeletonReader dem SkeletonWriter bekannt. Ich kann mir keinen vernünftigen Weg vorstellen, die Projekte so einzurichten, dass dies zutrifft.

  • Projekt Main (Links zu Content)
    • SkeletonReader
    • Skeleton

  • Projektinhalt (Links zu ContentExtendion)
    • SkeletonFile (Hat Prozessor Satz SkeletonProcessor)

  • Projekt ContentExtendion (kann nicht kreisförmig Link)
    • SkeletonContent (Ist Eingang Für Writer)
    • SkeletonWriter
    • SkeletonProcessor

Sehen Sie sich Ihre ProjectSetup Ich denke, Ihre Baugruppen sind nicht richtig verbunden sind. Und geben Sie eine feste Zeichenfolge in GetRuntimeReader zurück - wenn Sie die Projekte korrekt einrichten, verlieren Sie die Verbindung zum SkeletonReader.

Es gibt eine quite complete tutorial on the content pipeline auf den Interwebs.

2

Lösung für mich war einfach löschen Sie den ContentTypeReader und erstellen Sie einen neuen.

Mein Problem schien durch ein gespiegeltes Projekt verursacht zu werden (ich hatte Windows-Spiele-Bibliothek und Windows Phone-Spiel-Bibliothek). Auf dem Windows-Client wurde der ContentReader erfolgreich gefunden, aber nicht auf dem Windows Phone-Client.

Verwandte Themen