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

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

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

  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

您可以通过手动更改.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编译。

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

 C:\Program Files (x86)\Microsoft SDKs\Expression\Blend\.NETFramework\v4.0\Libraries\ 

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

只是Microsoft Visual Studio解决方案文件,格式版本更改为14.00对我有用。

使用Visual Studio 2017时遇到了类似的问题,但上面的答案都没有完全解决它。 找到一个Microsoft开发人员社区页面 ,其中有一个解决方法可以解决问题。 Bran Hagger的评论建议从解决方案的目录中删除.vs文件夹。 此附加步骤清除了缓存并导致Visual Studio重建它。