Aracılığıyla paylaş


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 projenizde kullanmanın etkilerini kapsar.

Target framework options for Xamarin.Mac

Background

Her .NET programı veya kitaplığı, Temel Sınıf Kitaplığı (BCL) tarafından sağlanan işlevlere bağlıdır. Bu BCL, tüm .NET dillerinde yerleşik olarak bulunan ortak işlevselliği sağlayan mscorlib, System, System.Net.Http ve System.Xml gibi 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'si, diğer kullanım örnekleri için çok ağır olabilecek daha zengin bir kitaplık kümesi içerirken, mobil cihazlar API'lerin bağlantı için güvenli olduğundan emin olmaya 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, belirli bir programdaki tüm derlemelerin uyumlu BCL derlemelerini hedeflemesi gerektiğidir . Böyle bir durum söz konusu değilse, belirli bir türün imzası konusunda anlaşamayan System.dll farklı sürümleriyle bağlantılı iki derlemeniz olabilir. Paylaşılan kitaplık, Hedef Çerçevelerin ortak alt kümesi olan .NET Standard 2'yi veya belirli bir hedef çerçeveyi hedefleyebilir.

Xamarin.Mac için her birinin farklı avantajları ve dezavantajları olan üç Hedef Çerçeve seçeneği vardır:

  • Modern (eski belgelerde Mobil olarak adlandırılır) – Performans ve boyut için yüksek oranda ayarlanmış Xamarin.iOS'a güç katanlara çok benzer bir alt küme. Bu Hedef Çerçeve bağlayıcı güvenlidir, bu nedenle kullanılmayan kodu kaldırarak bu projelerin son ayak izi önemli ölçüde azaltılabilir.

  • Tam (eski belgelerde XM 4.5 olarak adlandırılır) – "masaüstü" BCL'sine çok benzer bir alt kümedir ve birkaç küçük kaldırma işlemi vardır. Hedef Çerçeve net45 (ve üzeri) ile neredeyse aynı olduğundan netstandard2 veya belirli Xamarin.Mac derlemeleri sağlamayan birçok nuget'i kolayca kullanabilir. Ancak, System.Configuration kullanımı nedeniyle bağlama ile uyumsuzdur.

  • Desteklenmeyen (eski belgelerde Sistem olarak adlandırılır) – Xamarin.Mac tarafından sağlanan bir BCL'ye bağlanmak yerine, mono yüklü geçerli sistemi kullanın. Bu, sorunlu olduğu bilinen derlemeler de dahil olmak üzere en kapsamlı derleme kümesini sağlar (örneğin System.Drawing). Bu seçeneğin yalnızca bir "son çaresi" vardır ve kullanmadan önce diğer seçeneklerin tükenmesi kesinlikle önerilir. Adından da anlaşılacağı gibi, kullanım resmi destek kanalları tarafından desteklenmiyor.

Hedef çerçeveyi ayarlama

Xamarin.Mac projesinin Hedef Çerçeve türüne geçmek için aşağıdakileri yapın:

  1. Xamarin.Mac projesini Mac için Visual Studio açın.

  2. Çözüm Gezgini proje dosyasına çift tıklayarak Proje Seçenekleri iletişim kutusunu açın.

  3. Genel sekmesinden uygulamanızın gereksinimlerine uygun Hedef Çerçeve türünü seçin:

    Using the Project Options window to choose a target framework

  4. 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şturmalısınız.

Özet

Bu makalede, Xamarin.Mac uygulamasında 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ılması gerektiği kısaca ele alınmıştır.