Вопрос

Эта ошибка возникла при использовании версии Enterprise Library 3.1 от мая 2007 г.Мы разрабатываем продукт, и у нас есть общий каталог lib в каталоге Subversion Trunk.

<> runk\Lib\, в который мы поместили все сторонние библиотеки DLL.Внутри у нас есть Microsoft\EnterpriseLibrary\v3.1, в который мы скопировали все библиотеки DLL из \Program Files\Microsoft Enterprise Library May2007\bin.Все работало правильно, пока один из разработчиков не установил исходный код на эту машину.В конце установки исходного кода было скопировано несколько DLL, и как только это было сделано, он больше не сможет запускать проект.Он всегда получает эту ошибку

«Microsoft.Practices.EnterpriseLibrary.Data, Version=3.1.0.0, Culture=neutral, PublicKeyToken=null» или одна из ее зависимостей.Определение манифеста найденной сборки не соответствует ссылке на сборку.(Исключение из HRESULT:0x80131040)'

В чем здесь проблема?Я думал, что когда исходный код был установлен, предполагалось просто собрать все и скопировать в каталог bin внутри родительского каталога исходного кода.Также мы скопировали библиотеки Dll из каталога Microsoft Enterprise Library May 2007\bin в каталог разработки нашего продукта и ссылки на наш проект с флагом copylocal, установленным в true.

Может кто-нибудь помочь мне здесь

РК

Это было полезно?

Решение

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

Также, fuslogvw.exe.КАЖДЫЙ.ВРЕМЯ.

Другие советы

Я предполагаю, что ошибка заключается в том, что разработчик скомпилировал код с имеющейся у него компиляцией неподписанного исходного кода.

Прежде чем компилировать свой код, убедитесь, что он добавил ссылку на подписанные библиотеки DLL.

Microsoft.Practices.EnterpriseLibrary.Data, версия=3.1.0.0, культура=нейтральная, PublicKeyToken=ноль

должно быть что-то вроде:

Microsoft.Practices.EnterpriseLibrary.Data, версия=3.1.0.0, культура=нейтральная, PublicKeyToken=fa03fef243232

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

Читать здесь чтобы начать отладку загрузки сборки.

Короче говоря, вам нужно проверить журнал Fusion для получения дополнительной информации.

Для «Явного определения расположенной Ассамблеи с именем» [Yourassembly] не соответствует ссылке на сборку »(для HRESULT FUSION_E_REF_DEF_MISMATCH, 0x80131040):Журнал Fusion скажет, какая часть ссылки на сборку не соответствовала тому, что было найдено.Это будет имя собрания, культура, открытый ключ (или токен) или версия (если найденная сборка была сильно названа).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top