Ошибка загрузки разметки XAML во время выполнения при размещении в сборке со строгим именем

2

У меня есть смешанное приложение Winform/WPF, которое часто выдает исключение:

Could not load file or assembly <Full Assembly Name> or one of it dependencies. The located assembly manifest definition does not match the assembly reference. (Exception from HRESULT 0x80131040) Error at object <Object Name> in markup file <file>.xaml

Часть WPF состоит из базового пользовательского элемента управления и нескольких пользовательских элементов управления, которые наследуются от этой базы. Все классы и шаблоны WPF расположены в одной и той же сборке.

Это исключение началось только после того, как я решительно назвал все сборки в приложении.

Все сборки, используемые проектом, загружаются в одно визуальное студийное решение.

Теперь для запутанной части. Это исключение происходит только частично. Если я перестрою все решение, иногда это будет хорошая сборка, и все будет хорошо работать. В других случаях я перестрою решение, и это будет плохая сборка, и разделы WPF всегда будут генерировать это исключение.

Чтобы исправить это, я в конечном итоге использую пункт меню "Очистить решение" и перестраиваю его несколько раз, пока он не даст мне "хорошую" сборку.

Кажется очевидным, что проблема связана с компоновщиками компоновщика, несовместимыми с предыдущими сборками. Тем не менее, я в тупике, почему он это сделает. Правило построения и зависимости проекта установлены правильно.

Теги:
wpf
assemblies

1 ответ

2
Лучший ответ

Да, я тоже видел это. Не уверен, что это вариант для вас, но можете ли вы попробовать явно установить номер версии всех подписанных сборок, а не автоматически увеличивать его?

  • 0
    Я попробую это и дам вам знать.
  • 0
    Сейчас я сделал несколько десятков сборок, и ни у одной из них не было проблемы, о которой я сообщил. Похоже, ваше предложение исправило это. Спасибо за помощь.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню