Похоже, вы ссылались на несколько разные версии ваших зависимостей в разных проектах ваших решений. Это означает, что при попытке запустить ваши проекты вы можете получить неожиданные ошибки, если передадите какие-либо ссылки с типами в зависимостях, поскольку типы из разных версий одной и той же сборки считаются разными.
* 1003 Е.Г. *
Project1 использует зависимость SomeAssembly.dll
, которая является версией 1.0
Project2 использует зависимость SomeAssembly.dll
, но в версии 1.1
Project2 имеет Project1 как зависимость
Код в проекте 2 пытается передать ссылку SomeType
, где этот тип определен в SomeAssembly.dll
, из его кода в код из проекта 1. Проект 1 выдает ошибку, поскольку тип не распознается, поскольку он исходит от другая версия сборки.
Ваша проблема может быть более тонкой, чем эта, поскольку большинство ошибок этого типа могут быть обнаружены компилятором, но если у вас сложные зависимости или вы используете инъекцию зависимостей, компилятор не обязательно обнаруживает подобные вещи.
Visual Studio предлагает эффективно обойти вас, перенаправив все зависимости на конкретную версию. ИМХО, я бы не стал принимать исправление, если вы можете исправить это вручную.
Вам было бы намного лучше изучить ваше решение и проверить все ваши ссылки, чтобы убедиться, что все они соответствуют версии. Возможно, вам придется удалить и добавить обратные ссылки, чтобы это работало должным образом, но выполнение этого сейчас позволит избежать непредвиденных проблем в долгосрочной перспективе.