Paket opsional dengan kode yang dapat dieksekusi
Paket opsional dengan kode yang dapat dieksekusi berguna untuk membalikkan aplikasi besar atau kompleks, atau untuk menambahkan ke aplikasi yang sudah diterbitkan. Dengan Visual Studio 2017, versi 15.7 dan .NET Native 2.1, Anda dapat memuat kode yang dapat dieksekusi dari paket opsional C++ dan C#.
Prasyarat
- Visual Studio 2019 atau Visual Studio 2017 (versi 15.7 atau yang lebih baru)
- Windows 10, versi 1709 atau yang lebih baru
- Windows 10, SDK versi 1709 atau yang lebih baru
Untuk mendapatkan alat pengembangan terbaru, lihat Unduhan dan alat untuk Windows 10.
Catatan
Untuk mengirimkan aplikasi yang menggunakan paket opsional dan/atau set terkait ke Store, Anda akan memerlukan izin. Paket opsional dan set terkait dapat digunakan untuk aplikasi Line of Business (LOB) atau perusahaan tanpa izin Pusat Mitra jika tidak dikirimkan ke Store. Lihat Dukungan pengembang Windows untuk mendapatkan izin untuk mengirimkan aplikasi yang menggunakan paket opsional dan set terkait.
Catatan
Paket opsional yang berisi kode yang dapat dieksekusi harus menjadi bagian dari set terkait. Anda tidak akan dapat menjalankan kode dari paket opsional kecuali itu adalah bagian dari set terkait.
Paket opsional C++ dengan kode yang dapat dieksekusi
Untuk memuat kode dari paket opsional C++, lihat repositori OptionalPackageSample di GitHub. OptionalPackageDLL menunjukkan cara membuat proyek dengan kode yang dapat dijalankan dari paket utama. Proyek MyMainApp menunjukkan cara memuat kode dari file OptionalPackageDLL.dll.
Paket opsional C# dengan kode yang dapat dieksekusi
Untuk mulai membangun paket kode opsional di C#, ikuti langkah-langkah di bawah ini untuk mengonfigurasi solusi Anda:
Buat aplikasi UWP baru dengan versi minimum yang diatur ke Windows 10 Fall Creators Update SDK (Build 16299) atau yang lebih tinggi.
Tambahkan proyek Paket Kode Opsional (Universal Windows) baru ke solusi. Pastikan Versi Minimum dan Versi Target cocok dengan aplikasi utama Anda.
Jika Anda berencana untuk mengirimkan aplikasi Ke Toko, klik kanan pada kedua proyek dan pilih Simpan -> Kaitkan Aplikasi dengan Toko...
Package.appxmanifest
Buka file aplikasi utama dan temukan nilainyaIdentity Name
. Catat nilai ini untuk langkah berikutnya.Buka file paket
Package.appxmanifest
aplikasi opsional dan temukan nilainyauap3:MainAppPackageDependency Name
.uap3:MainAppPackageDependency Name
Perbarui nilai agar sesuai denganIdentity Name
nilai paket aplikasi utama dari langkah sebelumnya.Berikut adalah contoh
Identity
dari aplikasiPackage.appxmanifest
utama .<Identity Name="12345.MainAppProject" Publisher="CN=PublisherName" Version="1.0.0.0" />
Paket
uap3:MainPackageDependency
aplikasi opsional perlu diperbarui agar sesuai dengan aplikasiIdentity
utama.<uap3:MainPackageDependency Name="12345.MainAppProjectTest" />
Bundle.mapping.txt
Tambahkan file ke aplikasi utama. Ikuti langkah-langkah di bagian Set terkait ini untuk membuat set terkait yang berisi kedua aplikasi.Bangun proyek paket opsional lalu navigasikan ke folder Referensi paket dalam output dari build yang ditemukan di
..\[PathToOptionalPackageProject]\bin\[architecture]\[configuration]\Reference
. Perhatikan bahwa Anda dapat memilih arsitektur apa pun di jalur ke folder Referensi karena.winmd
file (langkah 8) independen arsitektur.Tambahkan referensi dari proyek aplikasi utama ke file yang
.winmd
ditemukan di folder ini. Setiap kali Anda mengubah area permukaan API dalam proyek paket opsional, file ini.winmd
harus diperbarui. Referensi ini menyediakan proyek aplikasi utama dengan informasi yang diperlukan untuk dikompilasi.Dalam proyek aplikasi utama, navigasikan ke properti build proyek dan pilih Kompilasi dengan rantai alat .NET Native. Saat ini, hanya penelusuran kesalahan di .NET Native yang didukung untuk pembuatan paket kode opsional di C#. Buka properti debug proyek dan pilih Sebarkan paket opsional. Ini akan memastikan bahwa kedua paket sinkron setiap kali Anda menyebarkan proyek aplikasi utama.
Setelah selesai dengan langkah-langkah ini, Anda dapat menambahkan kode ke proyek paket opsional seolah-olah itu adalah proyek Komponen WinRT terkelola. Untuk mengakses kode dalam proyek aplikasi utama, panggil metode publik yang diekspos dalam proyek paket opsional.