Share via


Birden çok platformda kod paylaşma

Bu makalelerde, Windows, Android, iOS ve daha fazlası dahil olmak üzere platformlar arasında kod paylaşımı için kullanılabilecek farklı seçenekler açıklanmaktadır.

Kod paylaşımına genel bakış

.NET Standart Kitaplıkları ve Paylaşılan Projeler dahil olmak üzere Xamarin projeleri için kullanılabilen farklı kod paylaşım seçenekleri hakkında bilgi edinin. Taşınabilir Sınıf Kitaplıkları da desteklenir, ancak .NET Standard için kullanım dışı olarak kabul edilir.

.NET Standard

.NET Standard, platformlar arasında kod paylaşmak için tercih edilen seçenektir. Kod belirli bir sürüme göre oluşturulur (2.0, mevcut .NET Framework koduyla en iyi API uyumluluğunu sağlar) ve bu düzeyi veya üzerini destekleyen diğer projeler tarafından kullanılabilir. .NET Standard projeleri hem Visual Studio 2019 hem de Mac için Visual Studio 2019'da desteklenir.

Paylaşılan Projeler

Paylaşılan Projeler, bir dizi farklı uygulama projesi tarafından başvurulan ortak kod yazmanızı sağlar. Kod, başvuran her projenin bir parçası olarak derlenmiş ve paylaşılan kod tabanında platforma özgü işlevlerin birleştirilmiş olması için derleyici yönergeleri içerebilir. Bu makalede Paylaşılan Projelerin nasıl çalıştığı ve bunları Xamarin projeleriyle oluşturma ve kullanma konuları ele alınmaktadır.

Taşınabilir Sınıf Kitaplıkları

Taşınabilir Sınıf Kitaplığı projeleri, birden çok platformda çalıştırılacak paylaşılan kod içeren derlemeler oluşturmanıza ve dağıtmanıza olanak sağlar. Taşınabilir Sınıf Kitaplığı (veya "PCL") oluşturmak için önce hedeflenen platformları seçersiniz, ardından bu platformlar için tanımlanan profilde bulunan bir .NET Framework alt kümesine kod yazarsınız. PCL'lerin Visual Studio'nun en son sürümlerinde kullanım dışı olduğu kabul edilir; geliştiricilerin bunun yerine .NET Standard 2.0 kullanması teşvik edilir.

NuGet projeleri: Kod paylaşımı için çok platformlu kitaplıklar

NuGet paketleri PCL veya .NET standart projelerinden otomatik olarak oluşturulabilir; ve Paylaşılan Projeler, ayrı NuGet proje türü kullanılarak "yem ve anahtar" NuGet paketlerine paketlenebilir. Bu bölümde, her kod paylaşımı senaryosu için NuGet paketlerinin nasıl oluşturulacağı açıklanmaktadır.

Xamarin için El ile NuGet paketleri oluşturma

Xamarin platformuyla çalışan NuGet paketleri oluşturmak için İpuçları.

Platformlar Arası Xamarin Projelerinde C/C++ Kitaplıklarını Kullanma

Bu teknik, C/C++ kitaplıklarınızın evrimini, NuGet'teki bir C# bağlamasını ve Xamarin uygulamalarınızı ayırmanıza olanak tanır. İşlevsellik yerel platform C/C++ kitaplığı tarafından sağlanır, ancak platforma özgü tüm kodlar son Xamarin uygulamalarından yalıtılır ve kod yinelemesi olmadan mümkün olan en yüksek performansı sağlar.