Bagikan melalui


Opsi linker Xamarin.Mac

Penautan adalah alat pengoptimalan canggih yang mengurangi ukuran aplikasi Anda dengan menghapus kode yang tidak digunakan.

Gambaran Umum

Berdasarkan Kerangka Kerja Target yang digunakan proyek Anda, opsi linker yang tersedia mungkin terbatas. Hal ini disebabkan oleh fakta bahwa penautan memerlukan pembuatan grafik objek dari setiap jenis yang digunakan oleh aplikasi Anda dan ini tidak dimungkinkan dalam Penuh (atau Tidak didukung) karena System.Configuration.

Ada empat opsi yang tersedia:

  • Tidak Ada – Nonaktifkan semua penautan. Default dalam konfigurasi Debug di Modern dan semua konfigurasi dalam Penuh.
  • SDK – Menautkan semua rakitan SDK, tidak termasuk rakitan pengguna. Default dalam Konfigurasi rilis di Modern. Tidak tersedia pada Penuh.
  • Penuh - Tautkan semua rakitan. Ini mengharuskan kode pengguna menjadi aman linker, lihat catatan untuk informasi selengkapnya. Tidak tersedia pada Penuh.
  • Platform – Tautkan hanya Xamarin.Mac.dll. Lihat di bawah untuk detailnya.

Penautan platform

Menautkan aplikasi menggunakan Kerangka Kerja Target Penuh umumnya tidak aman, tetapi ada sejumlah skenario di mana diperlukan bentuk penautan yang sangat terbatas.

Misalnya, Aplikasi yang dikirimkan ke macOS App Store tidak boleh mereferensikan sejumlah API yang tidak digunakan lagi (seperti QTKit), beberapa di antaranya Xamarin.Mac berisi pengikatan. Bahkan jika aplikasi tidak memanggil pengikatan tersebut, pemanggilan akan ada di SDK dan ditolak.

Penautan platform mengasumsikan aplikasi dan BCL tidak aman dan hanya menghapus kode yang tidak digunakan dari Xamarin.Mac.dll.

Aplikasi apa pun yang tidak mencerminkan jenis Xamarin.Mac.dll akan melihat peningkatan startup kecil dari penghapusan jenis yang tidak perlu.

Penautan platform umumnya hanya berguna untuk aplikasi yang menggunakan kerangka kerja Target penuh, karena aplikasi Modern dapat menggunakan opsi SDK yang lebih kuat.

Mengatur konfigurasi linker

Untuk mengubah ke konfigurasi linker 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 Build Mac, pilih jenis Perilaku Linker yang sesuai dengan kebutuhan aplikasi Anda:

    Choose which linker behavior to use

  4. Penautan platform untuk Kerangka Kerja Target Penuh tidak akan muncul di IDE hingga pembaruan di masa mendatang. Sampai saat itu, tambahkan --linkplatform ke argumen mmp tambahan sebagai gantinya.

  5. Klik tombol OK untuk menyimpan perubahan Anda.