【问题标题】:Dependency on Microsoft.Build.Utilities.v4.0 - loading animated models to XNA 4.0对 Microsoft.Build.Utilities.v4.0 的依赖 - 将动画模型加载到 XNA 4.0
【发布时间】:2011-11-29 23:43:44
【问题描述】:

我使用 Microsoft 的 skinned model sample 加载我的 Blender 模型 (.fbx) 并播放他们的动画。导入 SkinnedModelWindows 和 SkinnedModelPipeline 项目,我将它们添加为参考。但是当我想(从 SkinnedModelPipeline)获取蒙皮数据时,我会收到以下警告:

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.");

从这里我得到了例外。

以及如何解决它的想法?

非常感谢!

【问题讨论】:

    标签: c# xna xna-4.0


    【解决方案1】:

    听起来您的项目需要根据 .NET Framework 的完整版本而不是客户端配置文件来构建。在 Visual Studio 的项目属性中,应该有一个选项可以让您在“应用程序”选项卡上更改目标框架。

    【讨论】:

    • 在 SkinnedModelPipeline 项目中,它设置为:.Net Framework 4.0 - 而不是客户端版本。在我的基础项目(应用程序)中,我无法在属性中选择“目标框架”。它被禁用。输出类型设置为 Windows 应用程序。
    • @Darkry 该问题已解决here。当然,您的游戏一开始就不应该引用管道扩展。
    【解决方案2】:

    重新检查示例并查看哪个项目引用了哪个:

    • 您的游戏项目只能引用SkinnedModelWindows
    • 您的内容项目只能引用SkinnedModelPipeline
    • SkinnedModelPipeline 引用 SkinnedModelWindows

    所有项目只需要针对 .NET 4.0 客户端配置文件,除了SkinnedModelPipeline,它需要完整的框架(因为用于构建内容的内容管道程序集需要它)。

    【讨论】:

    • 所有引用都完全按照你说的设置。 SkinnedModelPipeline 是 .NET Framework 4.0(无客户端)版本集,其他项目(我的项目和 SkinedModelWindows)已禁用 Target framework 选项。
    • 我必须更改那些灰显的标签?我认为它应该不改变它。
    • 如果您在禁用目标框架选项时遇到问题,请注意我对 Cole Campbell 回答的评论中的链接。 (Here it is again.)
    猜你喜欢
    • 1970-01-01
    • 2014-05-02
    • 1970-01-01
    • 1970-01-01
    • 2012-01-24
    • 2011-06-15
    • 1970-01-01
    • 2011-06-10
    • 1970-01-01
    相关资源
    最近更新 更多