Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Xamarin.Forms 5.0 aşağıdaki hataya neden olan değişiklikleri içerir:
ExpanderXamarin Topluluk Araç Seti'ne taşındı. Daha fazla bilgi için bkz . Uygulamasından Xamarin.Formstaşınan özellikler.MediaElementXamarin Topluluk Araç Seti'ne taşındı. Daha fazla bilgi için bkz . Uygulamasından Xamarin.Formstaşınan özellikler.- DataPages ve ilişkili projeler öğesinden Xamarin.Formskaldırılmıştır.
MasterDetailPageolarak yeniden adlandırıldıFlyoutPage. Benzer şekilde,MasterBehaviorsabit listesi olarak yeniden adlandırılmıştırFlyoutLayoutBehavior.- iOS'ta kaldırılacak Xamarin.Forms başvurular
UIWebView. - Visual Studio 2017 desteği kaldırıldı.
- XFCorePostProcessor.Tasks kaldırıldı. Bu proje, 2,5 uyumluluğunu korumak Xamarin.Forms için IL ekli.
Ayrıca, 5.0 ile Xamarin.Forms oluşturulan Android ve UWP projelerinin güncelleştirilmesi gerekir.
Önemli
Bir uygulamayı 5.0'a Xamarin.Forms güncelleştirirken, NuGet paketine başvuran her projeyi aynı sürüme güncelleştirdiğinizden Xamarin.Forms emin olun.
Android
5.0 ile Xamarin.Forms oluşturulan Android projeleri için AndroidX (Android 10.0) platformunu geliştirme ortamınıza yüklemeniz gerekir. Bu, Android SDK yöneticisi ile gerçekleştirilebilir. AndroidX hakkında daha fazla bilgi için bkz . içinde Xamarin.FormsAndroidX geçişi.
Daha sonra Android projelerinin doğru şekilde derlenebilmek için birkaç güncelleştirme yapılması gerekir.
Minimum TargetFrameworkVersion
Xamarin.Forms 5.0, Android projeleri için en az 10.0 (AndroidX) hedef çerçeve sürümü gerektirir. Hedef çerçeve sürümü Visual Studio'da veya Android .csproj dosyasında ayarlanabilir:
<TargetFrameworkVersion>v10.0</TargetFrameworkVersion>
Bu minimum gereksinim karşılanmazsa bir derleme hatası oluşur:
error XF005: The $(TargetFrameworkVersion) for MyProject.Android (v9.0) is less than the minimum required $(TargetFrameworkVersion) for Xamarin.Forms (10.0). You need to increase the $(TargetFrameworkVersion) for MyProject.Android.
Minimum TargetSDKVersion
AndroidX, Android bildiriminizin 29+ olarak ayarlı targetSdkVersion olmasını gerektirir:
<uses-sdk android:minSdkVersion="21" android:targetSdkVersion="29" />
Bunun yapılmaması, öğesinin targetSdkVersion olarak ayarlanmasına minSdkVersionneden olur. Buna ek olarak, bazı durumlarda doğru ayarlanamazsa targetSdkVersion bir Android.Views.InflateException üretilecektir:
Android.View.InflateException has been thrown.
Binary XML file line #1 in com.companyname.myproject:layout/toolbar: Binary XML file line #1 in com.companyname.myproject:/layout/toolbar: Error inflating class android.support.v7.widget.Toolbar
Not
Visual Studio 2019'da, hedef çerçeve sürümü v10.0 olarak ayarlandığında Android bildirimi otomatik olarak API 29 belirtecek targetSdkVersion şekilde güncelleştirilir.
AndroidX'e otomatik geçiş
Android projeniz doğrudan bağımlılıklar veya geçişli bağımlılıklar olarak herhangi bir Android destek kitaplığına başvuruyorsa, bu destek kitaplığı bağımlılıkları ve bağlamaları derleme işlemi sırasında AndroidX bağımlılıklarıyla otomatik olarak değiştirilir. Otomatik AndroidX geçişi hakkında daha fazla bilgi için bkz . içinde Xamarin.Formsotomatik geçiş.
AndroidX'e el ile geçiş
Android projenizin Android destek kitaplıklarında doğrudan veya geçişli bağımlılıkları yoksa ancak yine de kod aracılığıyla destek kitaplığı türlerini kullanmaya çalışıyorsa, uygulamanızı AndroidX'e el ile geçirmeniz gerekir. Bu, AndroidX türlerini kullanarak ve özelleştirmediğiniz AXML dosyalarını kaldırarak gerçekleştirilebilir.
İpucu
AndroidX'e el ile geçiş uygulamanız için en hızlı derleme işlemine neden olur.
AndroidX türlerini kullanma
AndroidX, Android destek kitaplıklarının yerini alır ve bu nedenle Android destek kitaplığı türlerine yapılan tüm başvurular AndroidX türlerine yapılan başvurularla değiştirilmelidir.
Bu, deyimlerinizi using ad alanları yerine Android.Support ad alanlarını kullanacak AndroidX şekilde güncelleştirerek gerçekleştirilebilir. Aşağıdaki tabloda, Android destek kitaplıklarından AndroidX'e geçerken yapılan bazı yaygın ad alanı değişiklikleri listelenmiştir:
| Android destek kitaplığı ad alanı | AndroidX ad alanı |
|---|---|
Android.Support.V4.App |
AndroidX.Core.App |
Android.Support.V4.Content |
AndroidX.Core.Content |
Android.Support.V4.App |
AndroidX.Fragment.App |
Android.Support.V7.App |
AndroidX.AppCompat.App |
Android.Support.V7.Widget |
AndroidX.AppCompat.Widget |
Destek kitaplıklarından AndroidX'e sınıf eşlemelerinin tam listesi için bkz . github.com'de AndroidX sınıf eşlemeleri . Destek kitaplıklarından AndroidX'e derleme eşlemelerinin tam listesi için bkz. github.com'de AndroidX derlemeleri
AXML dosyalarını kaldırma
Özelleştirilmiş AXML dosyalarını kullanmaması koşuluyla Android projenizdeki AXML dosyalarını silmeniz gerekir. Silme işleminden sonra aşağıdaki satırlar sınıfınızdan MainActivity kaldırılmalıdır:
TabLayoutResource = Resource.Layout.Tabbar;
ToolbarResource = Resource.Layout.Toolbar;
Önemli
Özelleştirilmiş AXML dosyalarına sahip Android projeleri, bu dosyaların AndroidX türlerini kullanması için güncelleştirilmelidir.
UWP
Xamarin.Forms 5.0, UWP projeleri için = 10.0.18362.0 hedef platform sürümünü >önerir. Hedef platform sürümü Visual Studio'da veya UWP .csproj dosyasında ayarlanabilir:
<TargetPlatformVersion Condition=" '$(TargetPlatformVersion)' == '' ">10.0.18362.0</TargetPlatformVersion>
UWP projeniz daha düşük bir hedef platform sürümü kullanıyorsa bir derleme uyarısı üretilir.