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:

  1. Buat aplikasi UWP baru dengan versi minimum yang diatur ke Windows 10 Fall Creators Update SDK (Build 16299) atau yang lebih tinggi.

  2. Tambahkan proyek Paket Kode Opsional (Universal Windows) baru ke solusi. Pastikan Versi Minimum dan Versi Target cocok dengan aplikasi utama Anda.

  3. Jika Anda berencana untuk mengirimkan aplikasi Ke Toko, klik kanan pada kedua proyek dan pilih Simpan -> Kaitkan Aplikasi dengan Toko...

  4. Package.appxmanifest Buka file aplikasi utama dan temukan nilainyaIdentity Name. Catat nilai ini untuk langkah berikutnya.

  5. Buka file paket Package.appxmanifest aplikasi opsional dan temukan nilainya uap3:MainAppPackageDependency Name . uap3:MainAppPackageDependency Name Perbarui nilai agar sesuai dengan Identity Name nilai paket aplikasi utama dari langkah sebelumnya.

    Berikut adalah contoh Identity dari aplikasi Package.appxmanifestutama .

    <Identity Name="12345.MainAppProject" Publisher="CN=PublisherName" Version="1.0.0.0" />
    

    Paket uap3:MainPackageDependency aplikasi opsional perlu diperbarui agar sesuai dengan aplikasi Identityutama.

    <uap3:MainPackageDependency Name="12345.MainAppProjectTest" />
    
  6. Bundle.mapping.txt Tambahkan file ke aplikasi utama. Ikuti langkah-langkah di bagian Set terkait ini untuk membuat set terkait yang berisi kedua aplikasi.

  7. 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.

  8. 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.

  9. 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.