Не удалось загрузить файл или сборку или одну из ее зависимостей - PullRequest
212 голосов
/ 17 декабря 2010

У меня возникла другая проблема «Не удалось загрузить файл или сборку или одну из ее зависимостей».

Дополнительная информация: Не удалось загрузить файл или сборку 'Microsoft.Practices.Unity,Версия = 1.2.0.0, Культура = нейтральная, PublicKeyToken = 31bf3856ad364e35 'или одна из ее зависимостей.Определение манифеста обнаруженной сборки не соответствует ссылке на сборку.(Исключение из HRESULT: 0x80131040)

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

Я выполнил поиск в своем решениикаталоги .csproj файлов и все, что у меня есть Unity, у меня есть:

Ссылка включает в себя = "Microsoft.Practices.Unity, версия = 2.0.414.0, культура = нейтральная, PublicKeyToken = 31bf3856ad364e35, processorArchitecture = MSIL"

Ни в одном из моих проектов нигде не найти ни одной ссылки, которая противоречит 1.2.0.0.

Есть идеи, как мне решить эту проблему?

Я также был бы признателен за советы по устранению подобных проблем в целом.

Ответы [ 35 ]

10 голосов
/ 26 сентября 2016

screenshot В обозревателе решений щелкните правой кнопкой мыши проект (не решение), на вкладке сборки выберите Цель платформы: «Любой процессор».

5 голосов
/ 17 сентября 2015

Я также получил эту ужасную ошибку и нашел решение для этого ...

  1. Щелкните правой кнопкой мыши по названию решения
  2. Нажмите Чистое решение
  3. Перезапустите Visual Studio
  4. Перейти к свойствам проекта >> Build
  5. Изменить Конфигурация на Выпуск
  6. Начать отладку (F5)

1), 2)

Right Click on the Solution name

4), 5)

Change Configuration to Release

Надеюсь, это также поможет вам.

5 голосов
/ 12 сентября 2013
  • Перейти: Решение -> Пакет
  • Нажмите на вкладку Дополнительно (Найти под страницей)
  • Добавьте вашу dll к дополнительным сборкам (таким образом, мы можем добавить внешние dll в sharepoint).
4 голосов
/ 30 июля 2015

Спасибо, Риддхи М. Следующее сработало у меня.

Удалить временные файлы C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Временные файлы ASP.NET Закройте VSTS и снова откройте Удалите и добавьте одинаковые библиотеки DLL (Примечание: вы добавляете одинаковые совпадающие версии)

4 голосов
/ 17 апреля 2012

Не уверен, может ли это помочь.

Проверьте, совпадают ли имя сборки и пространство имен по умолчанию в свойствах ваших сборок.Это решило мою проблему, которая привела к той же ошибке.

4 голосов
/ 05 января 2016

В моем случае в папке bin была не ссылочная dll под названием Unity.MVC3, я безуспешно пытался найти любую ссылку на нее в visual studio, поэтому мое решение было так просто, как удалить эту dll из папки bin.

3 голосов
/ 17 декабря 2010

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

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

3 голосов
/ 16 ноября 2016

Эта проблема произошла со мной, когда одна из моих зависимых библиотек компилировала DLL с «Любым ЦП», когда родительская библиотека ожидала компиляции «x64».

2 голосов
/ 16 июля 2013

I «Установить как стартовый проект» выгруженная / найденная библиотека / проект.

Затем развернул.

Это сработало!

Я думаю, что он не смог найти .dll, потому что его сначала не было в сборке.

2 голосов
/ 05 июня 2015

Моим решением для .NET 4.0 с использованием Enterprise Library 5 было добавить ссылку на:

Microsoft.Practices.Unity.Interception.dll

...