【问题标题】:Microsoft.Expression.Blend in a WPF app targeting .net 4.0面向 .net 4.0 的 WPF 应用程序中的 Microsoft.Expression.Blend
【发布时间】:2014-04-25 20:34:37
【问题描述】:

我有一个针对 .NET 4.0 的 wpf 应用程序 我正在使用 Microsoft.Expression.Blend.dll

每次构建时,我都会收到几个如下所示的警告:

The primary reference "Microsoft.Expression.Blend, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=x86" could not be resolved because it has an indirect dependency on the .NET Framework assembly "Microsoft.Build.Engine, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" which has a higher version "12.0.0.0" than the version "4.0.0.0" in the current target framework. 

或者这个:

The primary reference "Microsoft.Expression.Blend, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=x86" could not be resolved because it has an indirect dependency on the assembly "Microsoft.Expression.DesignHost, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" which was built against the ".NETFramework,Version=v4.5" framework. This is a higher version than the currently targeted framework ".NETFramework,Version=v4.0".

我可以做些什么来消除这些警告?我可以找到以 .net 4.0 为目标的 Microsoft.Expression.Interactions 等版本,但不是混合版本。

【问题讨论】:

  • 这听起来与以下问题相同:stackoverflow.com/questions/9394299/…
  • 您使用的是什么版本的 Visual Studio?
  • 我的应用面向 .NET 4.0。我看不出这个问题有什么帮助或相关性。除非你说我不能在 4.0 中使用 Blend?
  • 您是否还引用了 Microsoft.TeamFoundation.Build.Workflow?
  • @WayneMaurer 不,我不是

标签: c# wpf expression-blend


【解决方案1】:

我已经在 VS2012 和 VS2013 下使用针对 .NET 4.0 的新 WPF 项目复制了您的问题。

这可能不是您希望的答案,但据我所知,Microsoft.Expression.Blend.dll 不是 Microsoft Expression SDK 的一部分,因此未获得再分发许可。因此,我认为微软不支持您尝试做的事情。但是,它可能在 .NET 4.5 下工作...

适用于 .NET 4.0 的 Microsoft Expression SDK 位于“Program Files (x86)\Microsoft SDKs\Expression\Blend.NETFramework\v4.0”下。根据 Redist 自述文件,库、模板和“程序文件 (x86)\MSBuild\Microsoft\Expression\Blend.NETFramework\v4.0\”下的文件已获得再分发许可。 Microsoft.Expression.Interactions.dll 位于 Libaries 文件夹下,这意味着它已获得再分发许可,这也解释了它的工作原理。

很遗憾,Microsoft.Expression.Blend.dll 不在这些文件夹中。它位于“Program Files (x86)\Microsoft Visual Studio 12.0\Blend\”中,这表明它是 Blend for VS2013(应用程序,而不是 SDK)的一部分,主要基于 .NET 4.5。由于此 dll 依赖于 .NET 4.5 程序集,因此我认为它在面向 .NET 4.0 时不会起作用。

我建议您重新考虑使用此程序集。您没有解释您尝试从中使用哪些功能,但由于它不是 Express Blend SDK 的一部分,因此您对 .NET 4.0 的使用不适合。

【讨论】:

    猜你喜欢
    • 2012-11-20
    • 2015-11-25
    • 2010-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多