Bagikan melalui


Berbagi kode Proyek Bersama

Proyek Bersama memungkinkan Anda menulis kode umum yang dirujuk oleh sejumlah proyek aplikasi yang berbeda. Kode ini dikompilasi sebagai bagian dari setiap proyek referensi dan dapat menyertakan arahan kompilator untuk membantu menggabungkan fungsionalitas khusus platform ke dalam basis kode bersama.

Proyek Bersama (terkadang juga disebut Proyek Aset Bersama) memungkinkan Anda menulis kode yang dibagikan di antara beberapa proyek target termasuk aplikasi Xamarin.

Mereka mendukung arahan kompilator sehingga Anda dapat secara kondisional menyertakan kode khusus platform untuk dikompilasi ke dalam subset proyek yang mereferensikan Proyek Bersama. Ada juga dukungan IDE untuk membantu mengelola arahan kompilator dan memvisualisasikan bagaimana kode akan terlihat di setiap aplikasi.

Jika Anda telah menggunakan penautan file di masa lalu untuk berbagi kode antar proyek, Proyek Bersama berfungsi dengan cara yang sama tetapi dengan dukungan IDE yang jauh lebih baik.

Apa itu Proyek Bersama?

Tidak seperti kebanyakan jenis proyek lain yang tidak memiliki output apa pun (dalam bentuk DLL), sebaliknya kode dikompilasi ke dalam setiap proyek yang mereferensikannya. Ini diilustrasikan dalam diagram di bawah ini - secara konseptual seluruh konten Proyek Bersama "disalin ke" setiap proyek referensi dan dikompilasi seolah-olah itu adalah bagian dari mereka.

Shared Project architecture

Kode dalam Proyek Bersama dapat berisi arahan kompilator yang akan mengaktifkan atau menonaktifkan bagian kode tergantung pada proyek aplikasi mana yang menggunakan kode, yang disarankan oleh kotak platform berwarna dalam diagram.

Proyek Bersama tidak dikompilasi sendiri, itu murni sebagai pengelompokan file kode sumber yang dapat disertakan dalam proyek lain. Ketika dirujuk oleh proyek lain, kode secara efektif dikompilasi sebagai bagian dari proyek tersebut. Proyek Bersama tidak dapat mereferensikan jenis proyek lain (termasuk Proyek Bersama lainnya).

Perhatikan bahwa proyek aplikasi Android tidak dapat mereferensikan proyek aplikasi Android lainnya - misalnya, proyek pengujian unit Android tidak dapat mereferensikan proyek aplikasi Android. Untuk informasi selengkapnya tentang Proyek Bersama.

Panduan Visual Studio untuk Mac

Bagian ini menjelaskan cara membuat dan menggunakan Proyek Bersama menggunakan Visual Studio untuk Mac. Lihat bagian Contoh Proyek Bersama untuk contoh lengkap.

Membuat Proyek Bersama

Untuk membuat Proyek Bersama baru, navigasi ke File > Solusi Baru... (atau klik kanan solusi yang sudah ada dan pilih Tambahkan > Proyek Baru...):

New Shared Project

Pada layar berikutnya, pilih nama proyek dan klik Buat.

Proyek Bersama baru ditunjukkan di bawah ini - perhatikan bahwa tidak ada Referensi atau node Komponen; ini tidak didukung untuk Proyek Bersama.

Empty Shared Project

Agar Proyek Bersama berguna, proyek tersebut perlu dirujuk oleh setidaknya satu proyek yang dapat dibangun (seperti aplikasi atau pustaka iOS atau Android, atau proyek PCL). Proyek Bersama tidak dikompilasi ketika tidak ada yang merujuknya, sehingga kesalahan sintaksis (atau lainnya) tidak akan disorot sampai direferensikan oleh sesuatu yang lain.

Menambahkan referensi ke Proyek Bersama dilakukan dengan cara yang sama seperti mereferensikan proyek Pustaka reguler. Cuplikan layar ini menunjukkan proyek Xamarin.iOS yang mereferensikan Proyek Bersama.

Project reference to Shared Project

Setelah Proyek Bersama dirujuk oleh pustaka atau aplikasi lain, Anda dapat membangun solusi dan melihat kesalahan apa pun dalam kode. Saat Proyek Bersama dirujuk oleh dua atau lebih proyek lain, menu muncul di kiri atas editor kode sumber yang menunjukkan proyek mana yang mereferensikan file ini.

Opsi Proyek Bersama

Saat Anda mengklik kanan Proyek Bersama dan memilih Opsi di sana lebih sedikit pengaturan daripada jenis proyek lainnya. Karena Proyek Bersama tidak dikompilasi (sendiri), Anda tidak dapat mengatur opsi output atau pengkompilasi, konfigurasi proyek, penandatanganan rakitan, atau perintah kustom. Kode dalam Proyek Bersama secara efektif mewarisi nilai-nilai ini dari apa pun yang merujuknya.

Layar Opsi ditunjukkan di bawah ini - Nama Proyek dan Namespace Default adalah satu-satunya dua pengaturan yang umumnya akan Anda ubah.

Shared Project Options

Contoh Proyek Bersama

Contoh Tugas menggunakan Proyek Bersama untuk berisi kode umum yang digunakan oleh aplikasi iOS, Android, dan Windows Telepon. SQLite.cs Baik file kode sumber dan TaskRepository.cs menggunakan direktif kompilator (misalnya) #if __ANDROID__untuk menghasilkan output yang berbeda untuk setiap aplikasi yang mereferensikannya.

Struktur solusi lengkap ditunjukkan di bawah ini (masing-masing di Visual Studio untuk Mac dan Visual Studio):

Proyek Windows Telepon dapat dinavigasi dari dalam Visual Studio untuk Mac, meskipun jenis proyek tersebut tidak didukung untuk kompilasi di Visual Studio untuk Mac.

Aplikasi yang sedang berjalan ditunjukkan di bawah ini:

iOS, Android, Windows Phone examples

Ringkasan

Dokumen ini menjelaskan cara kerja Proyek Bersama, bagaimana proyek tersebut dapat dibuat dan digunakan di Visual Studio untuk Mac dan Visual Studio, dan memperkenalkan aplikasi sampel sederhana yang menunjukkan Proyek Bersama dalam tindakan.