NuGet için Platforma Özgü Yeni Kitaplık Projeleri Oluşturma
iOS ve Android gibi belirli platformları hedefleyen çok platformlu Kitaplık projeleri, Paylaşılan Projeler ile en iyi şekilde çalışır.
NuGet hem iOS hem de Android'e özgü kodların yanı sıra her ikisi için de ortak olan .NET kodunu içerebilir.
Birden çok derleme oluşturulur ve tek bir NuGet paketinde yerleşik olarak bulunur. NuGet standartları, paketin Xamarin.iOS ve Android projeleri gibi desteklenen tüm proje türlerine eklenebilmesini sağlar.
Platformlar Arası Kitaplık NuGet Oluşturma Adımları
Yeni Çözüm Dosyala'yı > seçin (veya mevcut bir çözüme sağ tıklayıp Yeni Proje Ekle'yi > seçin).
Çok Platformlu Kitaplık bölümünden Çok Platformlu > Kitaplık'ı seçin:
Ad ve Açıklama girin ve Platforma özgü'leri seçin:
Sihirbazı tamamlayın. Çözüme aşağıdaki projeler eklenir:
- Android Project – Android'e özgü kod isteğe bağlı olarak bu projeye eklenebilir.
- iOS Projesi – iOS'a özgü kod isteğe bağlı olarak bu projeye eklenebilir.
- NuGet Projesi – Bu projeye kod eklenmez. Diğer projelere başvurur ve NuGet paket çıkışı için meta veri yapılandırmasını içerir.
- Paylaşılan Proje – Derleyici yönergeleri içindeki
#if
platforma özgü kod da dahil olmak üzere bu projeye ortak kod eklenmelidir.
NuGet projesine sağ tıklayın ve Seçenekler'i seçin, ardından NuGet Paketi > Meta Verileri bölümünü açın ve gerekli meta verileri (isteğe bağlı meta verilerin yanı sıra) girin:
Ayrıca Proje Seçenekleri penceresinde Başvuru Derlemeleri bölümünü açın ve paylaşılan kitaplığın "bait and switch" aracılığıyla hangi PCL profillerini destekleyeceğini seçin:
Not
"Yem ve anahtar", PCL derlemelerinin yalnızca kitaplık tarafından kullanıma sunulan API'yi içereceği anlamına gelir (platforma özgü kodu içeremez). NuGet bir Xamarin projesine eklendiğinde paylaşılan kitaplıklar PCL'ye karşı derlenir, ancak platforma özgü derlemeler iOS veya Android projesi tarafından gerçekten kullanılan kodu içerir.
Projeye sağ tıklayın ve NuGet Paketi Oluştur'u seçin (veya çözümü derleyin veya dağıtın) ve .nupkg NuGet paket dosyası /bin/ klasörüne kaydedilir (yapılandırmaya bağlı olarak Hata Ayıkla veya Serbest Bırak).
Çıktıyı Doğrulama
NuGet paketleri de ZIP dosyalarıdır, bu nedenle oluşturulan paketin iç yapısını incelemek mümkündür.
Bu ekran görüntüsü, iOS ve Android'i destekleyen ve iki başvuru derlemesinin seçildiği platforma özgü NuGet'in içeriğini gösterir: