2012-04-08 20 views
0

我在這個錯誤上找到了一些線程,但是我還沒有找到解決方案。我正在使用XNAExpert.com中的許多類庫,這些類庫專用於對蒙皮網格進行動畫處理。我使用XNA 4.0,Win Xp和Windows編程遊戲。這裏是完整的錯誤:找不到ContentTypeReader

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

該教程可以找到here。下面是從讀取器類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; 
     } 
    } 

正如你可以看到返回,大會限定的類型每個讀者的名字...有沒有人知道我可能會遇到麻煩的另一個原因?

回答

0

當我讀到SkeletonReader時,SkeletonWriter就知道了它。我想不出一個有效的方法來設置項目,這是事實。

  • 項目主(內容鏈接)
    • SkeletonReader
    • 骷髏

  • 項目內容(鏈接到ContentExtendion)
    • SkeletonFile(有處理器集中SkeletonProcessor)

  • 項目ContentExtendion (無法鏈接圓形)
    • SkeletonContent(輸入對於作家)
    • SkeletonWriter
    • SkeletonProcessor

看看你的ProjectSetup我認爲你的程序集沒有正確鏈接。 然後在GetRuntimeReader中返回一個固定的字符串 - 如果你正確設置了項目,你將失去與SkeletonReader的連接。

在網頁上有一個quite complete tutorial on the content pipeline

2

我的解決方案是刪除ContentTypeReader並創建一個新的。

我的問題似乎是由一個鏡像項目(我有Windows遊戲庫和Windows Phone遊戲庫)造成的。在Windows客戶端上,ContentReader被成功找到,但不在Windows Phone客戶端上。