Подтвердить что ты не робот

Ошибка: ссылка на тип заявки определяется, но ее не удалось найти

У меня есть решение с тремя проектами:

  • ParsersBase, которые определяют интерфейс IParseRule
  • ParsersLibrary, которые имеют ссылку на ParsersBase и определяют класс HtmlImageUrlParseRule: IParseRule
  • ParsersLibraryTest, которые имеют ссылку на ParsersBase и ParsersLibrary и определяют тестовый класс с некоторыми методами тестирования

Когда я пытаюсь его создать, я получаю предупреждение:

Ссылка на тип "AVSoft.ParsersBase.IParseRule" утверждает, что он определен в "c:\Users\Tim\Dropbox\projects\Image Downloader\ParsersLibrary\bin\Debug\ParsersLibrary.dll", но его не удалось найти

Почему VS пытается найти AVSoft.ParsersBase.IParseRule в ParsersLibrary.dll? ParsersLibraryTest имеет ссылку на ParsersBase, это просто не имеет никакого смысла.

4b9b3361

Ответ 1

Это была моя ошибка, у меня был проект ParsersLibrary с самого начала, а затем переименован в ParsersBase, но я не переименовал имя сборки, а затем снова добавил проект ParsersLibrary.

Итак, у двух проектов было одно и то же имя сборки, и это не очень хорошо, не так ли?:) Ассембли перекрывают друг друга, поэтому у меня есть эта ошибка.

Ответ 2

У меня была аналогичная проблема. На сайте была запущена кэшированная версия dll, а не та, которую я развернул в каталоге bin. Я очистил временное содержимое папки asp.net, и это решило проблему.

Ответ 3

Еще один способ, который может произойти, - это использовать несколько пакетов NuGet, где один, возможно, центральный, пакет обновлен, но некоторые дополнительные пакеты функций не были.

Для работы с моим недавним примером - ошибка была "Ссылка на тип" ConsumerSubscriptionConfigurator < > "утверждает, что она определена в" MassTransit ", но ее не удалось найти". Это связано с тем, что мы обновили MassTransit от 2 до 3, но мы не обновили некоторые другие дополнительные пакеты (MassTransit.log4net и MassTransit.Autofac) к тому же номер версии. Похоже, что перенаправление сборки все работало, пока мы не попытались использовать еще одну дополнительную функцию.

Ответ 4

Я ударил это исключение сегодня. Проблема в моем случае заключалась в том, что у меня был some.package v2.1 установлен на моем хосте и some.package v2.3, установленный в других проектах. Update-Package в проекте хоста на v2.3 исправлена ​​проблема.

Ответ 5

ParsersLibraryTest должен ссылаться на ParsersBase. Вторая часть ошибки должна выглядеть следующим образом: "Вы должны добавить ссылку на сборку" ParsersBase... "

Ответ 6

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