2015-08-31 2 views
-1

Все из suddon, я получаю исключение FileLoadException при получении экземпляра класса из Ninject.FileLoadException - Не удалось загрузить файл или сборку

Точное исключение состоит в следующем:

System.IO.FileLoadException:«Не удалось загрузить файл или сборку 'Кварц, Version = 2.3.3.0, культура = нейтральной, PublicKeyToken = f6b8c98a402cc8a4' . или один из его зависимостей манифеста определение локализованной ассамблеи не соответствует ссылке на сборку (исключение из HRESULT: 0x80131040).»

При чтении сообщения об ошибке, кажется, совершенно ясно, что он пытается загрузить сборка Quartz с версией 2.3.3.0, но указанная версия другая ... но я не понимаю, почему она даже загружает версию 2.3.3.0.

Я искал все решение (включая .csproj) для ссылок на кварц и каждое состояние ссылки v1.0.1.2. Я искал путь в файловой системе для Quartz.dll, но мог найти только DLL версии 1.0.1.2, поэтому я не понимаю, почему он пытается загрузить 2.3.3.0.

Знаете ли вы о каких-либо шагах, которые я мог бы попытаться решить это исключение?

Заранее спасибо

+0

может быть дублирован http://stackoverflow.com/questions/215026/the-located-assemblys-manifest-definition-does-not-match-the-assembly-reference?rq=1 – Neel

+0

См. Также [Как включить ведение журнала сбоев сборки] (http://stackoverflow.com/questions/255669/how-to-enable-assembly-bind-failure-logging-fusion-in-net). – Jester

+0

Что-то должно измениться. Новая версия была развернута, возможно, обновлен пакет nuget. Можете ли вы рассказать нам, что изменилось? – jvilalta

ответ

0

Проверьте библиотеку классов, которая включает Quartz. Убедитесь, что версия платформы согласована. Вы можете сделать это, щелкнув правой кнопкой мыши на файле проекта и выбрав свойства. Затем проверьте версию сборки на вкладке «первая/верхняя».

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

0

Это происходит, когда вы устанавливаете другой пакет nuget (например Quartz.Unity), который зависит от кварца. При установке этого другого пакета, если вы выберете «самый низкий» вариант для зависимости, он будет устанавливать Quartz 2.3.3.0 как зависимость. Однако у вас есть Quartz 2.4.1, установленный в вашем пакете. Таким образом, вы получаете ошибку.

Решение: При установке этого другого пакета выберите «самый высокий» вариант для зависимости, если у вас установлена ​​самая высокая версия в вашем проекте.

Смежные вопросы