Совместное использование кода на нескольких платформах

В этих статьях объясняются различные варианты совместного использования кода на разных платформах, включая Windows, Android, iOS и другие.

Общие сведения о совместном использовании кода

Узнайте о различных вариантах совместного использования кода, доступных для проектов Xamarin, включая библиотеки .NET Standard и общие проекты. Также поддерживаются переносимые библиотеки классов, однако они считаются нерекомендуемыми в пользу .NET Standard.

.NET Standard

.NET Standard является предпочтительным вариантом совместного использования кода на разных платформах. Код создан на основе определенной версии (2,0 обеспечивает лучшую совместимость API с существующим кодом .NET Framework) и может использоваться другими проектами, поддерживающими этот уровень или выше. .NET Standard проекты поддерживаются как в Visual Studio 2019, так и в Visual Studio 2019 для Mac.

Общие проекты

Общие проекты позволяют писать общий код, на который ссылается несколько различных проектов приложений. Код компилируется как часть каждого ссылающегося проекта и может включать директивы компилятора, которые помогают внедрить функции, зависящие от платформы, в общей базе кода. В этой статье рассматривается работа общих проектов и способы их создания и использования в проектах Xamarin.

Переносимые библиотеки классов

Проекты переносимых библиотек классов позволяют создавать и распределять сборки, содержащие общий код, для запуска на нескольких платформах. Чтобы создать переносимую библиотеку классов (или PCL), сначала выберите целевые платформы, а затем напишите код для поднабора .NET Framework, доступного в профиле, определенном для этих платформ. PCL считаются устаревшими в последних версиях Visual Studio; разработчикам рекомендуется использовать вместо .NET Standard 2,0.

Проекты NuGet: многоплатформенные библиотеки для совместного использования кода

Пакеты NuGet могут быть автоматически созданы из проектов PCL или .NET Standard. и общие проекты можно упаковывать в пакеты NuGet "Bait и Switch", используя отдельный тип проекта NuGet. В этом разделе объясняется, как создать пакеты NuGet для каждого сценария совместного использования кода.

Создание пакетов NuGet для Xamarin вручную

Советы по созданию пакетов NuGet, работающих с платформой Xamarin.

Использование C/C++ Library в кросс-платформенных проектах Xamarin

Эта методика позволяет отделить развитие библиотек C/C++ , C# привязки в NuGet и ваших приложений Xamarin. Функциональные возможности обеспечиваются с помощью собственной платформы C/C++ библиотеки, но весь код, зависящий от платформы, изолирован от окончательного приложения Xamarin, что позволяет максимально возможной производительности без дублирования кода.