Ошибка загрузки разметки XAML во время выполнения при размещении в сборке со строгим именем - PullRequest
2 голосов
/ 10 июня 2009

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

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

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

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

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

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

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

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

1 Ответ

2 голосов
/ 10 июня 2009

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

...