Freigeben von Code auf mehreren Plattformen

In diesen Artikeln werden die verschiedenen Optionen erläutert, die für die plattformübergreifende Freigabe von Code verfügbar sind, einschließlich Windows, Android, iOS und mehr.

Übersicht über die Codefreigabe

Erfahren Sie mehr über die verschiedenen Codefreigabeoptionen, die für Xamarin-Projekte verfügbar sind, einschließlich .NET Standardbibliotheken und freigegebenen Projekten. Portable Klassenbibliotheken werden ebenfalls unterstützt, gelten jedoch als veraltet zugunsten von .NET Standard.

.NET Standard

.NET Standard ist die bevorzugte Option für die plattformübergreifende Freigabe von Code. Code wird für eine bestimmte Version erstellt (2.0 bietet die beste API-Kompatibilität mit vorhandenem .NET Framework Code) und kann dann von anderen Projekten verwendet werden, die diese Ebene oder höher unterstützen. .NET Standard-Projekte werden sowohl in Visual Studio 2019 als auch in Visual Studio 2019 für Mac unterstützt.

Freigegebene Projekte

Mit freigegebenen Projekten können Sie allgemeinen Code schreiben, auf den von einer Reihe verschiedener Anwendungsprojekte verwiesen wird. Der Code wird als Teil jedes verweisenden Projekts kompiliert und kann Compilerdirektiven enthalten, um plattformspezifische Funktionen in die freigegebene Codebasis zu integrieren. In diesem Artikel wird erläutert, wie freigegebene Projekte funktionieren und wie Sie sie mit Xamarin-Projekten erstellen und verwenden.

Portable Klassenbibliotheken

Mit portablen Klassenbibliotheksprojekten können Sie Assemblys erstellen und verteilen, die gemeinsam genutzten Code für die Ausführung auf mehreren Plattformen enthalten. Um eine portable Klassenbibliothek (oder "PCL") zu erstellen, wählen Sie zuerst aus, welche Plattformen als Ziel verwendet werden sollen, und schreiben dann Code für einen Teilsatz der .NET Framework, der im für diese Plattformen definierten Profil verfügbar ist. PCLs gelten in den neuesten Versionen von Visual Studio als veraltet. Entwicklern wird empfohlen, stattdessen .NET Standard 2.0 zu verwenden.

NuGet-Projekte: Multiplattformbibliotheken für die Codefreigabe

NuGet-Pakete können automatisch aus PCL- oder .NET-Standardprojekten generiert werden. und freigegebene Projekte können mithilfe des separaten NuGet-Projekttyps in NuGet-Pakete "Köder und Switch" gepackt werden. In diesem Abschnitt wird erläutert, wie Sie NuGet-Pakete für jedes Codefreigabeszenario erstellen.

Manuelles Erstellen von NuGet-Paketen für Xamarin

Tipps zum Erstellen von NuGet-Paketen, die mit der Xamarin-Plattform funktionieren.

Verwenden von C/C++-Bibliotheken in plattformübergreifenden Xamarin-Projekten

Mit dieser Technik können Sie die Entwicklung Ihrer C/C++-Bibliotheken, einer C#-Bindung in einem NuGet und Ihrer Xamarin-Anwendungen entkoppeln. Die Funktionalität wird von der nativen C/C++-Bibliothek bereitgestellt, aber der gesamte plattformspezifische Code wird von den endgültigen Xamarin-Anwendungen isoliert, sodass die höchstmögliche Leistung ohne Codeduplizierung möglich ist.