Невозможно добавить сборку System.Collections.Concurrent, которая используется в проекте Xamarin PCL.

Я вижу, что к моему проекту Xamarin PCL добавлена ​​библиотека NET.

.Net библиотека в ссылках pcl

Поэтому я просматриваю в Обозревателе объектов и вижу 2 версии моего mscorlib. [2.0.5.0] и [4.0.0.0].

дубликаты библиотек CSharp и mscorlib

И если вы проверите, у меня есть копия аналогичной версии для моей библиотеки CSharp также. Я предполагаю, что он автоматически указывает на версию [2.0.5.0].

Но, что интересно, в моем проекте Android в том же решении mscorlib напрямую ссылается на раздел ссылок, и да, я могу получить доступ к моей библиотеке System.Collections.Concurrent в моем проекте Android.

Но мне нужно получить доступ к нему в моем проекте Xamarin. Мне также нужен способ добавить эту сборку в мой проект PCL. Любая идея?

1 ответ

Комментарий LexLi на самом деле заставил меня задуматься. Итак, вот что я сделал. Надеюсь, это будет полезно.

  1. Я проверил свою версию VS2017 (Professional), и она ожидала трех обновлений. Последний (на данный момент) - 15.4.4.4, обновленный.

  2. Я создал новое кроссплатформенное приложение Xamarin с тем же именем (очевидно, в другом месте).

  3. Получил все пакеты nuget, которые мне были нужны. (Лучше делать это вручную для каждого проекта, потому что это зависит от совместимости версий).

  4. А затем загрузил все файлы классов в это из моего предыдущего приложения. (Убедитесь, что вы создали необходимые структуры папок). Я дважды проверил конфиги приложения и файлы пакетов, чтобы убедиться, что все идентично.

  5. Исправил мой файл манифеста Android, внеся изменения в Android Project (Правый клик) >> Свойства >> Манифест Android.

  6. Проверьте свой файл AppDelegate в iOS и файл App.xaml.cs в UWP. Потому что иногда некоторые плагины требуют некоторых изменений в них. Поэтому убедитесь, что они у вас точно такие же, как раньше.

И это было все. Все для исправления проблемы с объектной моделью и параллельными коллекциями. Но в процессе я получил хорошую миграцию для моего приложения.

Если вы хотите, вы можете напрямую добавлять проекты в ваше решение, но я не уверен, что это сработает, потому что я не пробовал это.

Другие вопросы по тегам