Полагаю, вы не работаете со сборками со строгими именами.У меня была эта ошибка, когда два проекта ссылаются на несколько разные версии одной и той же сборки, а более зависимый проект ссылается на эти проекты.В моем случае было принято решение удалить ключ и информацию о версии из имени сборки в файлах .csproj (в любом случае это не имело значения), а затем выполнить чистую сборку.
Изменения между различными версиями сборкибыли совместимы с частями решения, ссылающимися на них.Если это не относится к вам, вам, возможно, придется проделать дополнительную работу для решения проблемы.
NuGet
С NuGet легко попасть в эту ситуацию, если:
- Вы устанавливаете пакет в один проект в своем решении.
- Новая версия этого пакета развертывается в источнике пакета.
- Вы устанавливаете его в другой проект в том же самом проекте.решение.
В результате в вашем решении два проекта ссылаются на разные версии сборок этого пакета.Если один из них ссылается на другой и является приложением ClickOnce, вы увидите эту проблему.
Чтобы исправить это, введите команду update-package [package name]
в консоли диспетчера пакетов Nuget, чтобы довести все до игрового уровняполе, в котором проблема исчезнет.
Вы должны управлять пакетами NuGet на уровне решения, а не на уровне проекта, если нет веской причины не делать этого.Управление пакетами на уровне решения позволяет избежать использования нескольких версий зависимостей.Если при использовании пользовательского интерфейса управления на вкладке Consolidated указано, что один или несколько пакетов имеют несколько версий, рассмотрите возможность объединения их в одну.