Как разрешить конфликт между 2 версиями mscorlib в Visual Studio и Xamarin Studio?
В течение более 2 дней я пытаюсь исправить эту ошибку, но мне это не удалось.
Это ошибка:
Невозможно разрешить конфликт между "mscorlib, Version = 2.0.5.0, Культура = нейтральная, PublicKeyToken = 7cec85d7bea7798e" и "mscorlib". Выбор "mscorlib, Version = 2.0.5.0, Culture = нейтральный, PublicKeyToken = 7cec85d7bea7798e" произвольно.
Я искал об этом, и у многих людей была эта проблема, но я не мог найти для этого решения.
Наконец, как мы можем найти способ разрешить конфликт между этими двумя ссылками?
Ответы
Ответ 1
У меня нет ответа, но я могу дать следующее:
- У меня есть пустое приложение Xamarin.Forms, предназначенное только для Android. Я могу построить и развернуть этот без ошибок.
- Я загрузил пример Xamarin.Forms с веб-сайта Xamarin и сохранил только версию для Android. В этом случае я могу восстановить решение без каких-либо ошибок; однако, когда я пытаюсь запустить без отладки, я получаю точную ошибку, о которой вы сообщаете.
Из этих результатов я собираю следующее:
- Конфликт между версиями mscorlib не связан с конфигурацией Visual Studio 17, а с конфигурацией приложения.
- Вторая из ссылок, которые вы включили, упоминает установку конкретной версии newtonsoft.json. Поскольку это пакет Nuget, я думал, что проблема связана с конкретными версиями этих пакетов. Оба моих приложения используют одни и те же пакеты, но, возможно, процесс отладки не обязательно использует те же функции этих пакетов.
Надеюсь, это поможет.
Ответ 2
Запустить режим администратора Visual Studio
Ответ 3
Попробуйте добавить в assemblyBinding
раздел привязки в ваших файлах конфигурации.
Вы можете добавить bindingRedirect
чтобы bindingRedirect
платформе, какую версию сборки загружать при запросе (используйте более высокий номер версии).
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="mscorlib" publicKeyToken="7cec85d7bea7798e" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.0.5.0" newVersion="2.0.5.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
Ответ 4
У меня была такая же проблема.
Решено теперь надеюсь...
Я не уверен, почему это происходит, но мне удалось запустить без ошибок, выполнив следующие действия:
- Создать новый проект (пусть загрузится) ->
- Управление нюгетами и их обновление ->
- создать новый файл content.page в файлах проекта в моем случае "ProjectName".Android ->
- Теперь запустите ваш эмулятор
Сделав это выше, это сработало для меня, попробовал несколько раз! (Если это не сработает, я уверен, что вы слышали об удалении bin и obj файлов, которые также работают). Удачи