Тип [A] не может быть приведен к типу [B] совпадающих версий сборки

#c# #wpf #modern-ui

#wpf #visual-studio #конструктор

Вопрос:

Совсем недавно я начал получать эту странную ошибку, это проблема только в конструкторе, приложение работает без проблем.

Я пробовал

  • очистка теневого кэша
  • удаление папки bin / obj
  • решение для восстановления
  • удаление и повторное добавление упомянутой сборки и повторное выполнение всего вышеперечисленного

Это полная ошибка

 [A]MahApps.Metro.Controls.MetroAnimatedSingleRowTabControl cannot be cast to 
[B]MahApps.Metro.Controls.MetroAnimatedSingleRowTabControl. 
Type A originates from 'MahApps.Metro, Version=1.1.3.174, Culture=neutral, PublicKeyToken=null' in the context 'LoadFrom' at location 'C:UsersusrAppDataLocalMicrosoftVisualStudio14.0DesignerShadowCachex2tfp5zd.b23jgke2cb5.0wstmpMahApps.Metro.dll'.
Type B originates from 'MahApps.Metro, Version=1.1.3.174, Culture=neutral, PublicKeyToken=null' in the context 'LoadNeither' at location 'C:UsersusrAppDataLocalMicrosoftVisualStudio14.0DesignerShadowCachemajxo3bg.w3cdwou5m4n.p1uMahApps.Metro.dll'.
HeRgoT  C:UsersusrMyProjectMyProjectMainWindow.xaml
  

Есть идеи, в чем причина?

Комментарии:

1. Попробуйте подписать сборку строгим именем.

2. Краткое примечание, когда я заменяю элемент управления другим из той же сборки, проблема исчезает

3. У меня была эта проблема, когда целевая среда ссылочного проекта отличалась (4.5 против 4.5.2).

4. @Herman о, поскольку MahApps с открытым исходным кодом, я попробую создать его на основе 4.6 (версия .net, которую использует мой проект)

Ответ №1:

Я столкнулся с той же проблемой, которая была вызвана несколькими копиями mahapps.metro.dll в папке shadow cache и чтобы исправить это, я сделал следующее: 1. Удалить mahapps.metro.dll в качестве ссылки на проект 2. Закройте Visual Studio 3. Очистите папку теневого кэша, затем перезапустите VS.