Xamarin.Mac için Hedef Çerçeve
Bu makale, Xamarin.Mac için kullanılabilen hedef çerçeveleri (Temel Sınıf Kitaplıkları) ve bunları Xamarin.Mac projesinde kullanmanın etkilerini kapsar.

Arka Plan
Her .NET programı veya kitaplığı, Temel Sınıf Kitaplığı (BCL) tarafından sağlanan işlevlere bağlıdır. Bu BCL mscorlib, System, System.Net.Http ve System.Xml tüm .NET dillerinde yerleşik olarak ortak işlevselliği sağlayan derlemeleri içerir.
Yıllar içinde bu BCL'nin farklı kullanım örnekleri için iyileştirilmiş birden çok farklı sürümü geliştirilmiştir. "Masaüstü" BCL'sinde diğer kullanım örnekleri için fazla ağır olan daha zengin bir kitaplık kümesi yer alırken, mobil cihaz API'lerinin bağlantı için güvenli olmasını sağlamaya odaklanır ve bu da uygulama ayak izini azaltmak için kullanılmayan kodu kaldırır.
Bu farklı Hedef Çerçevelerin en önemli yansımalarından biri, bir programda yer alan tüm derlemelerin uyumlu BCL derlemelerini hedeflemesi gerekir. Bu durum böyle bir durumla karşılanmazsa, verilen türün imzasıyla ilgili olarakSystem.dllderlemenin farklı sürümlerine bağlı iki derlemeye sahip olabilirsiniz. Paylaşılan kitaplık, Hedef Çerçevelerin .NET Standard alt kümesiolan 2'ye veya belirli bir hedef çerçeveye hedef olabilir.
Xamarin.Mac için her biri farklı avantajlara ve dezavantajlara sahip üç Hedef Çerçeve seçeneği vardır:
Modern (eski belgelerde Mobile olarak da adlandırılan) – Xamarin.iOS'un gücüyle çok benzer bir alt kümedir ve performans ve boyut için yüksek oranda ayarlanmıştır. Bu Hedef Çerçeve daha güvenlidir, bu nedenle bu projeler kullanılmayan kodu kaldırarak son ayak izine sahip olabilir.
Tam (eski belgelerde XM 4.5 olarak da adlandırılan) – Birkaç küçük kaldırma işlemiyle "masaüstü" BCL'ye çok benzer bir alt küme. Hedef Çerçeve net45 (ve sonrası) ile neredeyse aynı olduğu için, netstandard2 veya belirli Xamarin.Mac derlemeleri sağlamamış birçok nuget'i kolayca kullanabilir. Ancak, System.Configuration kullanımı nedeniyle bağlantı ile uyumsuzdur.
Desteklenmeyen (eski belgelerde Sistem olarak adlandırılan) – Xamarin.Mac tarafından sağlanan bir BCL'ye bağlantı yüklemek yerine, yüklü olan sistem mono'su kullanın. Bu, sorunlu olduğu bilinen bazı derlemeler de dahil olmak üzere en fazla derleme kümesi sağlar (örneğin System.Drawing). Bu seçenek yalnızca bir "son seçenek" içerir ve kullanmadan önce diğer seçeneklerin tükenmesi kesinlikle önerilir. Addan da anlaşılacağı gibi, resmi destek kanalları tarafından kullanım desteklenmez.
Hedef çerçeveyi ayarlama
Xamarin.Mac projesinin Hedef Çerçeve türüne değiştirmek için şunları yapın:
Xamarin.Mac projesini Mac için Visual Studio.
Dosya Çözüm Gezginiproje dosyasına çift tıklar ve Project iletişim kutusunu açın.
Genel sekmesinden, uygulamanın ihtiyaçlarına uygun Hedef Çerçeve türünü seçin:
Değişikliklerinizi kaydetmek için Tamam düğmesine tıklayın.
Hedef Çerçeve türünü değiştirdikten sonra Xamarin.Mac projenizi Temizlemeli ve yeniden oluştursanız gerekir.
Özet
Bu makalede bir Xamarin.Mac uygulaması için kullanılabilen farklı Hedef Çerçeve türleri (Temel Sınıf Kitaplıkları) ve her çerçeve türünün ne zaman kullanılmalıdır? kısaca ele almaktadır.
Seçenekleri penceresini kullanarak hedef