Определение манифеста обнаруженной сборки не соответствует ссылке на сборку - PullRequest
668 голосов
/ 18 октября 2008

Я пытаюсь запустить некоторые модульные тесты в приложении C # Windows Forms (Visual Studio 2005) и получаю следующую ошибку:

System.IO.FileLoadException: Не удалось загрузить файл или сборку 'Утилита, Версия = 1.2.0.200, Культура = нейтральная, PublicKeyToken = 764d581291d764f7' или одна из ее зависимостей. Определение манифеста обнаруженной сборки не соответствует ссылке на сборку. (Исключение из HRESULT: 0x80131040) **

в x.Foo.FooGO ()

в x.Foo.Foo2 (String groupName_) в Foo.cs: строка 123

в x.Foo.UnitTests.FooTests.TestFoo () в FooTests.cs: строка 98 **

System.IO.FileLoadException: Не удалось загрузить файл или сборку 'Утилита, Версия = 1.2.0.203, Культура = нейтральная, PublicKeyToken = 764d581291d764f7' или одна из ее зависимостей. Определение манифеста обнаруженной сборки не соответствует ссылке на сборку. (Исключение из HRESULT: 0x80131040)

Я смотрю в своих ссылках, и у меня есть только ссылка на Utility version 1.2.0.203 (другая - старая).

Любые предложения о том, как я выясняю, что пытается ссылаться на эту старую версию этого DLL-файла?

Кроме того, я не думаю, что у меня даже есть эта старая сборка на моем жестком диске. Есть ли инструмент для поиска этой старой версионной сборки?

Ответы [ 46 ]

0 голосов
/ 01 августа 2014

Сегодня у меня была такая же проблема, которая помешала мне выполнить Add-Migration после внесения изменений в Entity Framework.

У меня было два проекта в моем решении, назовем их «Клиент» и «Данные» - проект библиотеки классов, который содержал мои модели EF и контекст. Клиент ссылался на проект Data.

Я подписал оба проекта, а затем внес изменения в модель EF. После того, как я удалил подпись, я смог добавить миграции и затем мог подписать проект заново.

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

0 голосов
/ 12 июля 2011

Я получил это сообщение об ошибке из-за ссылки на сборку с тем же именем, что и сборка, которую я собирал.

Это скомпилировано, но оно перезаписало ссылочную сборку текущей сборкой проектов, что привело к ошибке.

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

0 голосов
/ 18 апреля 2019

Я получал:

Не удалось загрузить файл или сборку 'XXX-new' или одну из ее зависимостей. Определение манифеста обнаруженной сборки не соответствует ссылке на сборку. (Исключение из HRESULT: 0x80131040)

Это потому, что я изменил название сборки с XXX.dll на XXX-new.dll. Возврат имени к оригиналу исправил ошибку.

0 голосов
/ 30 июля 2013

В вашем AssemblyVersion в файле AssemblyInfo.cs используйте фиксированный номер версии вместо указания *. Символ * изменит номер версии каждой компиляции. Это была проблема для этого исключения в моем случае.

0 голосов
/ 29 мая 2019

случилось со мной за System.ValueTuple

Неожиданная ошибка Не удалось загрузить файл или сборку 'System.ValueTuple, Версия = 4.0.1.0, Культура = нейтральная, PublicKeyToken = cc7b13ffcd2ddd51 'или одна из его зависимостей. Система не может найти указанный файл.

Решил, установив .NET Framework 4.7.2 Runtime на машину, на которой произошла ошибка. Просто и не нужно добавлять bindingRedirect, изменять GAC или понижать версию пакетов NuGet и т. Д.

https://dotnet.microsoft.com/download/dotnet-framework/net472

0 голосов
/ 24 января 2014

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

...