2011-11-29 31 views
0

我使用Microsoft的skinned model sample加載我的Blender模型(.fbx)並播放它們的動畫。導入SkinnedModelWindows和SkinnedModelPipeline項目,並將它們添加爲參考。但是,當我想(從SkinnedModelPipeline)剝皮數據我得到這樣的警告:依賴於Microsoft.Build.Utilities.v4.0 - 將動畫模型加載到XNA 4.0

The referenced assembly "...\SkinnedModelPipeline.dll" could not be resolved because it has a dependency on "Microsoft.Build.Utilities.v4.0, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" which is not in the currently targeted framework ".NETFramework,Version=v4.0,Profile=Client". Please remove references to assemblies not in the targeted framework or consider retargeting your project. 

和外觀的數據仍然是空:

SkinningData skinningData = model.Tag as SkinningData; 

     if (skinningData == null) 
      throw new InvalidOperationException 
       ("This model does not contain a SkinningData tag."); 

從此我得到的異常。

和想法如何解決它?

非常感謝!

回答

2

聽起來好像您的項目需要構建完整版本的.NET Framework,而不是客戶端配置文件。在Visual Studio中的項目屬性中,應該有一個選項可讓您更改「應用程序」選項卡上的目標框架。

+0

在SkinnedModelPipeline項目中,它被設置爲:.Net Framework 4.0 - 而不是客戶端版本。在我的基礎項目(應用程序)中,我無法選擇屬性中的「目標框架」。它被禁用。輸出類型設置爲Windows應用程序。 – Darkry

+1

@Darkry該問題已解決[這裏](http://stackoverflow.com/questions/6522455/unable-to-select-target-framework-for-xna-4-0-games)。當然,你的遊戲不應該首先引用流水線擴展。 –

1

重新檢查採樣,看看哪些項目引用其中:

  • 你的遊戲項目應只引用SkinnedModelWindows
  • 你的內容項目應該只引用SkinnedModelPipeline
  • SkinnedModelPipeline引用SkinnedModelWindows

所有項目只需要定位.NET 4.0客戶端配置文件SkinnedModelPipeline,這需要完整的框架(因爲構建內容的內容管道組件需要它)。

+0

所有參考文獻的設置與您所說的完全相同。 SkinnedModelPipeline是.NET Framework 4.0(無客戶端)版本集合,其他項目(我的項目和SkinedModelWindows)已禁用目標框架選項。 – Darkry

+0

我必須改變那些灰色的標籤?我認爲它應該不改變它。 – Darkry

+0

請注意我評論科爾坎貝爾的答案時的鏈接,如果您在禁用目標框架選項時遇到問題。 ([Here it is again](http://stackoverflow.com/questions/6522455/unable-to-select-target-framework-for-xna-4-0-games)。) –