Вопрос:
Я разрабатываю библиотеку классов для Android с помощью Xamarin Studio. Как добавить ссылку на Mono.Android в моем проекте библиотеки? Mono.Android не входит в список доступных сборок.
Лучший ответ:
Предполагая, что вы установили X.Android, щелкните правой кнопкой решение. Затем Add → Add new Project → Android → Android Library Project.
Нет ссылки, которую вы должны добавить.
Ответ №1
Если вы хотите поддержать больше, чем просто Xamarin.Android в своем проекте библиотеки, у вас есть возможность использовать портативную библиотеку классов (PCL). Я считаю, что профили 78 и 158 работают очень хорошо, и обе обеспечивают поддержку await/async.
Однако вам не следует, чтобы PCL поддерживал минимальное подмножество целей в профиле. Следовательно, не все в.NET 4.5 доступно, и вы не сможете делать определенные вещи на платформе внутри него, если только вы не отвлечете его. Этого можно добиться, создав интерфейсы и внедряя реализации с помощью IoC.
IoC может быть предоставлен TinyIoC и IoC внутри MvvmCross.
Ответ №2
C:Program Files (x86)Microsoft Visual Studio2017EnterpriseCommon7IDEReferenceAssembliesMicrosoftFrameworkMonoAndroidv8.1Mono.Android.dll
Для VS2017 библиотека может быть найдена в указанном выше месте.
Ответ №3
Если по какой-либо причине в вашем проекте Xamarin Android отсутствует ссылка Mono.Android, ее можно добавить вручную в проект.csproj, добавив эту строку:
<Reference Include=»Mono.Android» />
Это происходит в первой “ItemGroup”. Найдите <Reference Include=»mscorlib»/> и поставьте его перед этим. (Заказ не имеет значения, он просто должен быть внутри ItemGroup, но это буквенный порядок, поэтому я его разместил).
В моем случае я удалил устаревшие ссылки со старого Xamarin Android, и я подумал, что Mono.Android устарел и будет переустановлен при обновлении Xamarin Forms, поэтому я удалил его. Ошибка.