程序集中的类型是使用旧版本的blend sdk构建的,并且在windows presentation foundation 4项目中不受支持

Dom*_*see 22 c# wpf blend visual-studio

我在VS 2013中创建了一个WPF项目.升级到VS 2015后,设计器中显示的错误来自Blend SDK:

程序集中的类型是使用旧版本的blend sdk构建的,并且在windows presentation foundation 4项目中不受支持

Iri*_*lho 38

  1. 以管理员身份运行命令提示符

  2. 将目录更改为Blend SDK: cd C:\Program Files (x86)\Microsoft SDKs\Expression\Blend\.NETFramework\v4.5\Libraries\

  3. 注册DLL: gacutil -i System.Windows.Interactivity.dll

  4. 重新启动Visual Studio

参考:https://connect.microsoft.com/VisualStudio/feedback/details/755407/xaml-designer-will-not-display-when-using-blend-sdk-behaviors

  • 您还可以通过从Microsoft下载最新的NuGet软件包来解决该问题:https://www.nuget.org/packages/Expression.Blend.Sdk.WPF/使用程序包中的"Install-Package Expression.Blend.Sdk.WPF"经理控制台. (9认同)
  • 为我工作.非常感谢你!只是认为你可以澄清它是VS的Developer cmd提示符,而不是通用的Windows提示符 (3认同)
  • @Alex--没有为我修复它. (3认同)
  • 如果安装了Visual Studio 2015,请使用"VS2015的开发人员命令提示符"而不是常规cmd.http://stackoverflow.com/a/40434598/3895469 (3认同)

Dom*_*see 9

您可以通过手动更改.sln和.csproj文件中的版本号来解决此问题.

在.csproj和.csproj.user中更改ToolsVersion为您当前的Visual Studio版本.VS 2013是版本12,VS 2015是版本14.

在.sln中更改VisualStudioVersion为当前版本,您可以在"关于"窗口中找到它.

也更改Microsoft Visual Studio Solution File, Format Version为您当前的版本(例如14.00,12.00)

注意:这仅适用于内置程序集.如果外部依赖项(如Prism)导致此错误,则必须使用新的Blend SDK重新编译它们.您也可以尝试更新依赖项,也许最新版本已经使用最新的Blend SDK编译.


Ter*_*nce 7

这里没有其他答案对我有用。最终解决的问题是删除SDK文件夹中文件的.NET v4.0版本:

C:\Program Files (x86)\Microsoft SDKs\Expression\Blend\.NETFramework\v4.0\Libraries\
Run Code Online (Sandbox Code Playgroud)

我正在通过NuGet引用v4.5文件,但似乎设计人员正在上述文件夹中找到该文件。v4.0文件未在GAC中注册。