Dukungan untuk Xamarin.Forms berakhir pada 1 Mei 2024 sesuai kebijakan dukungan Xamarin:
Dukungan Xamarin berakhir pada 1 Mei 2024 untuk semua SDK Xamarin termasuk Xamarin.Forms.
Xamarin.Forms digantikan oleh .NET Maui pada Mei 2022 sebagai bagian dari .NET 6, dan saat ini didukung seperti yang dijelaskan pada kebijakan dukungan .NET Maui. Ikuti panduan peningkatan resmi untuk membawa aplikasi Xamarin Anda ke versi terbaru .net.
Kepada semua pengembang dan kontributor kami, terima kasih banyak telah menjadi bagian dari komunitas Xamarin kami. Sampai jumpa di .net Maui!
Xamarin.Forms menyediakan cara untuk dengan cepat membangun aplikasi asli untuk iOS, Android, Windows dan MacOS, sepenuhnya di C#.
Baca lebih lanjut tentang platform di https://www.xamarin.com/forms.
| Platform/fitur | Nama paket | Stabil | Prerelease | Azure Feed Nightly (Cabang Utama) |
|---|---|---|---|---|
| Inti | Xamarin.Forms | |||
| Appleinks | Xamarin.Forms.AppLinks | |||
| Peta | Xamarin.Forms.Maps | |||
| Peta.gtk | Xamarin.Forms.Maps.GTK | |||
| Peta.wpf | Xamarin.Forms.Maps.WPF | |||
| Halaman | Xamarin.Forms.Pages | |||
| Halaman.azure | Xamarin.Forms.Pages.Azure | |||
| Platform.gtk | Xamarin.Forms.Platform.GTK | |||
| Platform.wpf | Xamarin.Forms.Platform.WPF | |||
| Visual.material | Xamarin.Forms.Visual.Material |
Jika Anda ingin menggunakan Dev Build terbaru maka Anda harus membaca posting blog ini:
Tambahkan umpan malam ke sumber nuget Anda atau tambahkan nuget.config ke aplikasi Anda (menempatkannya di direktori yang sama di mana file solusi Anda) dengan konten berikut:
<? xml version = " 1.0 " encoding = " utf-8 " ?>
< configuration >
< packageSources >
< clear />
< add key = " xamarin-ci " value = " https://aka.ms/xf-nightly/index.json " />
< add key = " NuGet.org " value = " https://api.nuget.org/v3/index.json " />
</ packageSources >
</ configuration >Catatan: Nuget.config ini harus dengan aplikasi Anda kecuali jika Anda ingin paket malam berpotensi mulai dipulihkan untuk aplikasi lain di mesin.
Ubah dependensi aplikasi Anda untuk memiliki * untuk mendapatkan versi terbaru.
Untuk kedua metode di bawahnya, Anda harus menambahkan umpan nuget ini agar build untuk berhasil. Lihat halaman dokumentasi ini untuk mengetahui caranya.
VS 2019+ diperlukan untuk mengembangkan xamarin.forms. Jika Anda belum menginstalnya, Anda dapat mengunduhnya di sini. VS 2019+ Komunitas sepenuhnya gratis. Jika Anda menginstal vs 2019+ untuk pertama kalinya, pilih jenis instalasi "khusus" dan pilih yang berikut dari daftar fitur untuk menginstal:
Individual Components > .NET > .NET Framework 4.6.1 SDK, .NET Framework 4.6.1 targeting pack, .NET Framework 4.7.2 SDK, .NET Framework 4.7.2 targeting pack .Individual Components > SDKs, libraries, and frameworks > Windows 10 SDK (10.0.19041.0), Windows 10 SDK (10.0.18362.0), Windows 10 SDK (10.0.16299.0) .Individual Components > Development Activities > Xamarin Remoted SimulatorIndividual Components > Emulators > Hyper-V Intel Hardware Accelerated Execution Manager (HAXM)Android 10.0 API 29 SDK dan Android 9.0 API 28 SDK diperlukan untuk mengembangkan Xamarin.Forms. Mereka dapat diinstal dengan menggunakan Xamarin Android SDK Manager.
Kami juga merekomendasikan menginstal Xamarin Android Device Manager. Ini akan menggunakan alat HAXM yang diinstal di atas dan memungkinkan Anda untuk mengkonfigurasi perangkat virtual Android (AVD) yang meniru perangkat Android. Jika Anda sudah menginstal VS 2019+, Anda dapat memverifikasi bahwa fitur -fitur ini diinstal dengan memodifikasi instalasi VS 2019+ melalui pemasang Visual Studio.
Jika Anda mendapatkan kesalahan tentang kehilangan SDK, Anda dapat menjalankan skrip penyediaan kami. Perhatikan bahwa perlu waktu untuk menjalankan seluruh skrip. Untuk lebih memahami cara kerja skrip, jangan ragu untuk memeriksa file build.cake kami.
Di CMD
build.cmd -Target provision
Di PowerShell
./build.ps1 -Target provision
Catatan: Jika Anda menemukan kesalahan yang mengatakan build.ps1 tidak ditandatangani secara digital, Open PowerShell sebagai administrator dan menyelesaikan dengan menjalankan Set-ExecutionPolicy RemoteSigned terlebih dahulu.
Di CMD/PowerShell/Sh (baru! Info lebih lanjut di sini)
dotnet tool install Cake.Tool -g
dotnet cake --target=provision
Jika Anda belum menginstalnya, instruksi untuk diunduh dan diatur dapat ditemukan di sini.
Karena batasan multi-penargetan saat ini dengan Visual Studio untuk Mac, Anda perlu membangun/mengembalikan beberapa proyek secara manual sebelum Anda dapat bekerja pada solusi Formulir Xamarin.
Berikut adalah beberapa opsi berbeda yang telah kami kumpulkan untuk membantu membuat proses ini lebih mudah
Cabang 3.5+ Dilengkapi dengan target skrip kue yang dapat Anda gunakan untuk membangun dan membuka VSMAC
./build.sh --target vsmacAtau seperti yang disebutkan di atas di bagian Windows tentang penyediaan, Anda juga dapat menggunakan kue baru.tool
dotnet tool install Cake.Tool -g
dotnet cake --target=provision
Saat mengerjakan cabang sebelumnya yang tidak memiliki skrip kue, Anda dapat menggunakan skrip build.sh berikut
Jika Anda tidak ingin menjalankan skrip apa pun:
msbuild Xamarin.Forms.Build.Tasks/Xamarin.Forms.Build.Tasks.csprojXamarin.Forms.Build.Tasks.csproj Setelah membuka solusi Xamarin.Forms, Anda akan menemukan bahwa ada sejumlah kesalahan dan peringatan di bawah panel daftar kesalahan; Anda dapat menyelesaikannya dengan mengubah filter Build + IntelliSense untuk Build Only . Pada titik ini, Anda harus berhasil membangun solusi.
Secara default, proyek Xamarin.Forms.Controls tidak memiliki konfigurasi untuk berbagai tombol API untuk mengakses fitur tertentu pada setiap platform (misalnya peta). Saat membangun solusi untuk pertama kalinya, file controlgallery.config akan dihasilkan di dalam proyek itu, yang terlihat seperti ini:
UWPMapsAuthKey:
Jika Anda tidak bekerja dengan peta, Anda dapat mengabaikan ini. Jika Anda ingin bekerja dengan peta, Anda harus mendapatkan kunci API Anda sendiri untuk masing -masing layanan ini, dimasukkan langsung setelah pengidentifikasi (misalnya UWPMapsAuthKey:abcdefghijklmnopqrstuvwxyz ). Anda dapat mengetahui cara mendapatkan masing -masing sebagai berikut:
UWPMapsAuthKey di https://microsoft.com/maps/create-a-bing-maps-key.aspx Karena cara kerja Android, kunci API peta tidak dapat disuntikkan saat runtime. Akibatnya, Anda harus menambahkan kunci ini ke file MapsKey.cs di bawah Xamarin.Forms.ControlGallery.Android/Properties :
[assembly: Android.App.MetaData("com.google.android.maps.v2.API_KEY", Value = "INSERT_KEY_HERE")]
Anda dapat mengetahui cara mendapatkan kunci API Google Maps di sini.
Pastikan Anda memiliki nuget.exe 4.0 atau di atas dan .NET Core SDK terbaru. Pada macOS Anda harus menentukan platform dalam perintah msBuild ( /p:Platform=iPhoneSimulator )
msbuild /restore Xamarin.Forms.sln
Bergantung pada pengaturan lingkungan Anda, Anda mungkin perlu mengkonfigurasi beberapa hal sebelum dapat men -debug / menjalankan tes UI, terutama pada Windows.
Xamarin.Forms.ControlGallery.Android . Cara termudah untuk melakukan ini adalah dengan mengklik kanan proyek dan memilih "Deploy". Perhatikan bahwa jika Anda membangun kembali solusinya, Anda mungkin kehilangan APK dan perlu menghasilkannya lagi.Setelah langkah -langkah ini diurus, Anda harus baik untuk pergi. Anda dapat melihat semua tes UI di Explorer Tes, mencari kenyamanan Anda sendiri, dan dengan cepat menjalankan tes individu.
Untuk menjalankan tes UWP UI:
Xamarin.Forms.ControlGallery.WindowsUniversal untuk menginstal aplikasi ControlGallery ke sistem Anda.Anda sekarang harus dapat menjalankan salah satu tes UWP UI.
Kami mengikuti gaya yang digunakan oleh .NET Foundation, dengan beberapa pengecualian:
private karena merupakan tingkat aksesibilitas default di C#.Tools > Options dan menavigasi ke Text Editor > C# dan memilih opsi Radio "Keep Tabs". Di Visual Studio untuk Mac itu diatur melalui preferensi dalam Source Code > Code Formatting > C# source code dan menonaktifkan kotak centang untuk Convert tabs to spaces .Source Code > Code Formatting > C# source code dan mengubah Desired file width menjadi 120 . Kami menggunakan masalah GitHub untuk melacak masalah. Jika memungkinkan, silakan kirim reproduksi bug Anda bersama dengan laporan bug Anda.