Направляя разные версии одной и той же сборки GAC
-
27-10-2019 - |
Вопрос
Я получаю это сообщение об ошибке во время компиляции:
Сборка 'myframework [...]' использует 'system.web.extensions, версия = 3.5.0.0 [...]', которая имеет более высокую версию, чем ссылочная сборка 'System.Web.Extensions, версия = 1.0.61025.0 [. ..] '
MyProject ссылается на обоих System.Web.Extensions 1.0 И Project 'MyFrameWork', последний, в свою очередь, относится к Web Extension 3.5. Оба ссылки есть Скопируйте local = false, конкретная версия = true.
Ошибка возникает в MyProject (не в MyFrameWork). Что здесь не так?
Я понимаю, что две версии одной и той же сборки не могут совмещать в том же месте, поэтому копирование локальности является ложным.
(Я знаю, что настройка хрома, это огромное устаревшее приложение, не может просто что -либо рефактор.)
Обновление: должно быть что -то с моим проектом. Я создал образец проекта (для 2.0, ссылаясь на Web Adensions 1.0), в котором используется еще один образцо проекта (FWK 3.5, Web Adensions 3.5) Компилирование в порядке. (Как я ожидал.) Поэтому я в основном моделировал ситуацию и не мог воспроизвести проблему. Вопрос изменился на:
Что может вызвать вышеуказанное поведение? Технически, есть ли что-то не так при ссылке на две версии одной и той же названной сборки?
ОБНОВЛЕНИЕ 2: См. Принятые комментарии ответа для основной причины. («Раскрытые типы».) Все еще нужно найти способ решить его.
Решение
Вы должны использовать Внешний псевдоним Спрашивать две отдельные версии одной и той же сборки.
Другие советы
Тебе следует добавить <bindingRedirect>
в app.config.