Тип сборки собран со старой версией blend sdk и не поддерживается в проекте 4 проекта презентации Windows - программирование
Подтвердить что ты не робот

Тип сборки собран со старой версией blend sdk и не поддерживается в проекте 4 проекта презентации Windows

Я создал проект WPF в VS 2013. После обновления до VS 2015 эта ошибка проявилась в дизайнере по типам, полученным из Blend SDK:

тип сборки собран с более старой версией blend sdk и не поддерживается в проекте 4 проекта презентации Windows

4b9b3361

Ответ 1

  • Запустить командную строку как администратор

  • Измените каталог на Blend SDK: cd C:\Program Files (x86)\Microsoft SDKs\Expression\Blend\.NETFramework\v4.5\Libraries\

  • Зарегистрировать DLL: gacutil -i System.Windows.Interactivity.dll

  • Перезапустите Visual Studio

Ссылка: https://connect.microsoft.com/VisualStudio/feedback/details/755407/xaml-designer-will-not-display-when-using-blend-sdk-behaviors

Ответ 2

Вы можете решить эту проблему, вручную изменив номера версий в файлах .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.

Ответ 3

Ни один из других ответов здесь не работал для меня. В конце концов это решило удаление версии файла .NET v4.0 в папке SDK:

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

Я ссылаюсь на файл v4.5 через NuGet, но кажется, что дизайнер нашел файл в указанной выше папке. Файл v4.0 не был зарегистрирован в GAC.

Ответ 4

У меня была похожая проблема с использованием Visual Studio 2017, но ни один из приведенных выше ответов полностью не решил ее для меня. Нашел страницу сообщества разработчиков Microsoft, у которой был обходной путь, который добился цели. Комментарий Брана Хаггера рекомендовал удалить папку .vs из каталога решений. Этот дополнительный шаг очистил кеш и заставил Visual Studio перестроить его.

Ответ 5

Популярный ответ верен, но, поскольку в мире разработчиков все постоянно меняется, я подумал, что хотел бы отметить, что сейчас есть (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 ответе, так что заслуга в этом ОП:

Как добавить System.Windows.Interactivity в проект?

Ответ 6

Для меня был использован только файл решения Microsoft Visual Studio, формат версии 14.00.

Ответ 7

Это также может быть 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/

В этом случае вам придется синхронизировать эти библиотеки между проектами.

Ответ 8

Удаление файла .vs в папке решения решило проблему. Эта проблема возникла для меня после того, как я обновил My Visual Studio 2017 и открыл ранее созданный проект с более старой версией Visual studio 2017.