Я создал проект WPF в VS 2013. После обновления до VS 2015 эта ошибка проявилась в дизайнере по типам, полученным из Blend SDK:
тип сборки собран с более старой версией blend sdk и не поддерживается в проекте 4 проекта презентации Windows
Я создал проект WPF в VS 2013. После обновления до VS 2015 эта ошибка проявилась в дизайнере по типам, полученным из Blend SDK:
тип сборки собран с более старой версией blend sdk и не поддерживается в проекте 4 проекта презентации Windows
Запустить командную строку как администратор
Измените каталог на Blend SDK: cd C:\Program Files (x86)\Microsoft SDKs\Expression\Blend\.NETFramework\v4.5\Libraries\
Зарегистрировать DLL: gacutil -i System.Windows.Interactivity.dll
Перезапустите Visual Studio
Вы можете решить эту проблему, вручную изменив номера версий в файлах .sln и .csproj.
В .csproj и .csproj.user
измените ToolsVersion
на текущую версию Visual Studio. VS 2013 - версия 12, VS 2015 - версия 14.
В .sln измените VisualStudioVersion
на текущую версию, вы можете найти ее в окне About.
Также измените Microsoft Visual Studio Solution File, Format Version
на текущую версию (например, 14.00, 12.00)
Примечание.. Это работает только для встроенных сборок. Если внешние зависимости (например, Prism) вызывают эту ошибку, вам придется перекомпилировать их с помощью нового Blend SDK. Вы также можете попробовать обновить зависимость, возможно, самая новая версия уже скомпилирована с использованием последней версии Blend SDK.
Ни один из других ответов здесь не работал для меня. В конце концов это решило удаление версии файла .NET v4.0 в папке SDK:
C:\Program Files (x86)\Microsoft SDKs\Expression\Blend\.NETFramework\v4.0\Libraries\
Я ссылаюсь на файл v4.5 через NuGet, но кажется, что дизайнер нашел файл в указанной выше папке. Файл v4.0 не был зарегистрирован в GAC.
У меня была похожая проблема с использованием Visual Studio 2017, но ни один из приведенных выше ответов полностью не решил ее для меня. Нашел страницу сообщества разработчиков Microsoft, у которой был обходной путь, который добился цели. Комментарий Брана Хаггера рекомендовал удалить папку .vs
из каталога решений. Этот дополнительный шаг очистил кеш и заставил Visual Studio перестроить его.
Популярный ответ верен, но, поскольку в мире разработчиков все постоянно меняется, я подумал, что хотел бы отметить, что сейчас есть (IMO) лучшее решение.
В декабре 2018 года Microsoft выпустила официальный пакет NuGet с поддержкой открытого кода для поведения XAML для WPF. (Там есть отдельный для UWP.) Очень легко перейти на этот пакет. Вам необходимо удалить текущий пакет NuGet, удалить несколько ссылок, установить этот пакет и изменить оператор использования (или FQN).
https://www.nuget.org/packages/Microsoft.Xaml.Behaviors.Wpf/
https://devblogs.microsoft.com/dotnet/open-sourcing-xaml-behaviors-for-wpf/
Я читал об этом в этом SO ответе, так что заслуга в этом ОП:
Для меня был использован только файл решения Microsoft Visual Studio, формат версии 14.00.
Это также может быть System.Windows.Interactivity.dll
тем, что вы смешиваете разные версии System.Windows.Interactivity.dll
, особенно если вы получаете SDK из nuget, где его предоставляют несколько разных пакетов, например:
https://www.nuget.org/packages/Expression.Blend.Sdk/ https://www.nuget.org/packages/System.Windows.Interactivity.WPF/
В этом случае вам придется синхронизировать эти библиотеки между проектами.
Удаление файла .vs в папке решения решило проблему. Эта проблема возникла для меня после того, как я обновил My Visual Studio 2017 и открыл ранее созданный проект с более старой версией Visual studio 2017.