Bagikan melalui


Kerangka Kerja Target untuk Xamarin.Mac

Artikel ini membahas kerangka kerja target (Pustaka Kelas Dasar) yang tersedia untuk Xamarin.Mac, dan implikasi penggunaannya dalam proyek Xamarin.Mac Anda.

Target framework options for Xamarin.Mac

Latar belakang

Setiap program atau pustaka .NET bergantung pada fungsionalitas yang disediakan oleh Pustaka Kelas Dasar (BCL). BCL ini mencakup rakitan seperti mscorlib, System, System.Net.Http, dan System.Xml yang menyediakan fungsionalitas umum yang dibangun ke dalam semua bahasa .NET.

Selama bertahun-tahun, ada telah mengembangkan beberapa versi berbeda dari BCL ini, dioptimalkan untuk kasus penggunaan yang berbeda. BCL "desktop" mencakup serangkaian pustaka yang lebih kaya yang mungkin terlalu berat untuk kasus penggunaan lainnya, sementara seluler berfokus pada memastikan API aman untuk ditautkan, yang menghapus kode yang tidak digunakan untuk mengurangi jejak aplikasi.

Salah satu dampak yang lebih penting dari Kerangka Kerja Target yang berbeda ini, adalah bahwa semua rakitan dalam program tertentu harus menargetkan rakitan BCL yang kompatibel. Jika ini tidak terjadi, Anda dapat memiliki dua rakitan yang ditautkan terhadap versi System.dll yang berbeda yang tidak setuju tentang tanda tangan jenis tertentu. Pustaka bersama dapat menargetkan .NET Standard 2, yang merupakan subset umum dari Kerangka Kerja Target, atau kerangka kerja target tertentu.

Ada tiga opsi Kerangka Kerja Target yang tersedia untuk Xamarin.Mac, masing-masing dengan keuntungan dan tradeoff yang berbeda:

  • Modern (disebut Seluler dalam dokumentasi yang lebih lama) - Subset yang sangat mirip dengan apa yang mendukung Xamarin.iOS, sangat disetel untuk performa dan ukuran. Kerangka Kerja Target ini lebih aman, sehingga proyek-proyek ini dapat mengurangi jejak akhir secara drastis dengan menghapus kode yang tidak digunakan.

  • Penuh (disebut XM 4.5 dalam dokumentasi yang lebih lama) - Subset yang sangat mirip dengan BCL "desktop", dengan beberapa penghapusan kecil. Karena Kerangka Kerja Target hampir identik dengan net45 (dan yang lebih baru), itu dapat dengan mudah mengonsumsi banyak nuget yang tidak menyediakan build netstandard2 atau Xamarin.Mac tertentu. Namun, karena penggunaan System.Configuration tidak kompatibel dengan penautan.

  • Tidak didukung (disebut Sistem dalam dokumentasi yang lebih lama) – Alih-alih menautkan ke BCL yang disediakan oleh Xamarin.Mac, gunakan sistem saat ini yang diinstal mono. Ini menyediakan sekumpulan rakitan terpenuhi, termasuk beberapa yang dikenal bermasalah (System.Drawing misalnya). Opsi ini hanya ada yang memiliki "upaya terakhir" dan sangat disarankan untuk menghabiskan opsi lain sebelum menggunakannya. Sesuai namanya, penggunaan tidak didukung oleh saluran dukungan resmi.

Mengatur kerangka kerja target

Untuk mengubah ke jenis Kerangka Kerja Target untuk proyek Xamarin.Mac, lakukan hal berikut:

  1. Buka proyek Xamarin.Mac di Visual Studio untuk Mac.

  2. Di Penjelajah Solusi, klik dua kali file proyek untuk membuka kotak dialog Opsi Proyek.

  3. Dari tab Umum , pilih jenis Kerangka Kerja Target yang sesuai dengan kebutuhan aplikasi Anda:

    Using the Project Options window to choose a target framework

  4. Klik tombol OK untuk menyimpan perubahan Anda.

Anda harus Membersihkan lalu Membangun kembali proyek Xamarin.Mac Anda setelah mengalihkan jenis Kerangka Kerja Target.

Ringkasan

Artikel ini telah membahas secara singkat berbagai jenis Kerangka Kerja Target (Pustaka Kelas Dasar) yang tersedia untuk aplikasi Xamarin.Mac dan kapan setiap jenis kerangka kerja harus digunakan.