Ответ 1
Этот вопрос имеет довольно большой объем, я постараюсь ответить как можно лучше:
Библиотека классов
Стандартная библиотека классов .NET, которая выводит DLL. Этот тип проекта можно использовать только на настольных платформах (Mac, Windows). Эти типы проектов не могут ссылаться на проекты Android и IOS.
Библиотека классов (Android)
Библиотека классов Android, аналогичная обычной библиотеке Android . Этот проект предназначен для совместного использования специфических для Android ресурсов, таких как действия, фрагменты, представления, чертежи, строки и т.д. Этот проект может быть отнесен только проектами приложений Android или другими проектами библиотеки Android.
Обычно мы помещаем наше основное приложение для Android в библиотеку, а затем заставляем заставку использовать только приложение для Android, которое связывает проект библиотеки. Таким образом, мы можем изолировать каждый экран в отдельном приложении "Testbed", чтобы тестировать каждый экран независимо, без необходимости проходить через все приложение, чтобы проверить их.
Библиотека классов (пакет)
Этот тип не находится в моей установке VS, поэтому я не могу прокомментировать, что это такое.
Библиотека классов (переносная для универсальных приложений)
Портативная библиотека классов, предназначенная для .NET 4.5, включая поддержку Windows 8, Xamarin.Android, Xamarin.iOS и Xamarin.iOS(классический). Это TargetFrameworkProfile Profile7
.
Библиотека классов (Portable)
Портативная библиотека классов, предназначенная для .NET 4.5 с поддержкой Windows 8, Windows Phone 8.1, Windows Phone Silverlight 8, Xamarin.Android, Xamarin.iOS и Xamarin.iOS(классическая). Это TargetFrameworkProfile Profile259
.
Библиотека классов (Xamarin.Forms)
Портативная библиотека классов, предназначенная для .NET 4.5 с поддержкой Windows 8, Windows Phone 8.1, Windows Phone Silverlight 8, Xamarin.Android, Xamarin.iOS(классический), Xamarin.iOS Unified и Xamarin.Mac Unified. Это TargetFrameworkProfile Profile78
.
Обратите внимание, что библиотеки Portable для универсальных приложений, Xamarin.Forms и Portable - это идентичные типы проектов (библиотека PCL), кроме Xamarin.Forms включает поддержку наибольшего числа платформ.
В плане структуры проекта у нас есть проект для каждой платформы (Android, iOs, Windows), которая ссылается на PCL (который определяет наши интерфейсы и сущности DB) и общий проект, который реализует большую часть логики приложения.
Я предлагаю прочитать следующие ссылки и использовать исходный код Tasky в качестве основы для вашего приложения: