Cara Visual Studio menghasilkan manifes paket aplikasi
Saat Anda membuat proyek dengan Visual Studio, Visual Studio menghasilkan manifes paket (AppxManifest.xml), yang berisi informasi yang diperlukan sistem untuk menyebarkan, menampilkan, atau memperbarui aplikasi Universal Windows Platform (UWP).
Ada dua variasi file manifes paket aplikasi yang akan Anda temui jika mengembangkan aplikasi dengan Visual Studio
- Package.appxmanifest
Ini adalah file gaya XML yang digunakan pengembang untuk mengonfigurasi detail aplikasi, seperti informasi penerbit, logo, arsitektur prosesor, dll. Ini adalah versi manifes paket aplikasi yang mudah dikonfigurasi dan sementara yang digunakan selama pengembangan aplikasi. - AppxManifest.xml
File ini dihasilkan oleh proses build Visual Studio dan didasarkan pada informasi dalam file Package.appxmanifest. Ini adalah versi akhir dari manifes paket aplikasi yang digunakan dengan aplikasi yang diterbitkan dan dibebani sisi. Jika ada pembaruan yang dilakukan pada file Package.appxmanifest, Anda harus membangun kembali proyek untuk melihat pembaruan dalam file AppxManifest.xml.
Untuk gambaran umum proses pengemasan, lihat Mengemas aplikasi UWP dengan Visual Studio.
Memvalidasi manifes aplikasi
Sebelum dapat memublikasikan aplikasi, Anda harus memperbaiki kesalahan apa pun yang menyebabkan salah satu pemeriksaan validasi Visual Studio gagal. Saat Visual Studio menghasilkan manifes, Visual Studio memvalidasi aplikasi Anda dengan cara berikut:
- Validasi sintaksis
Visual Studio mengonfirmasi apakah semua data dalam manifes aplikasi sesuai dengan skema manifes aplikasi. - Validasi semantik
Visual Studio menyediakan panduan tentang data yang diharapkan, berdasarkan konteks informasi.
Catatan
Jika bagian ini tidak menyebutkan bidang yang Anda cari, bagian ini dihasilkan dari data yang mungkin telah dikonfigurasi secara terpisah atau nilai default dari skema manifes.
Membuat konten manifes
Visual Studio mengisi bidang dalam tabel berikut saat menghasilkan file AppxManifest.xml untuk paket aplikasi.
Identitas
Bagian Identity
manifes aplikasi berisi bidang berikut.
Bidang | Deskripsi |
---|---|
Nama | Nama paket, yang diisi secara berbeda dalam skenario berikut:
|
Publisher | Nama penerbit. Nama ini diisi secara berbeda dalam skenario berikut:
|
Versi | Versi aplikasi yang sedang dibangun. Ini biasanya bertahap setiap kali aplikasi telah dimodifikasi dan dipaketkan. Untuk memastikan bahwa Version ditambahkan dengan benar, gunakan dialog yang disediakan saat Anda memanggil Store -> Buat Paket Aplikasi... untuk membuat pembaruan. |
ProcessorArchitecture | Nilai yang dihasilkan berdasarkan konfigurasi build yang Anda tentukan untuk proyek. Jika referensi proyek atau referensi file dalam proyek menargetkan arsitektur tertentu yang berbeda dari paket aplikasi, kesalahan build akan muncul, dan Anda harus mengubah arsitektur target paket aplikasi agar berfungsi untuk semua referensi. |
Berikut adalah contoh Identity
XML output:
<Identity Name="Microsoft.UWPAppExample"
Publisher="CN=Microsoft Corporation"
Version="1.0.0.0"
ProcessorArchitecture="x86" />
Properti
Bagian Properties
manifes aplikasi berisi bidang dalam tabel berikut.
Bidang | Deskripsi |
---|---|
PublisherDisplayName | String ini diisi secara berbeda dalam skenario berikut:
|
DisplayName | String ini diisi secara berbeda dalam skenario berikut:
|
Logo | Templat Visual Studio akan digunakan Assets\StoreLogo.png secara default. Nilai ini harus disesuaikan oleh pengembang dalam file Package.appxmanifest. |
Berikut adalah contoh Properties
XML output:
<Properties>
<DisplayName>UWP App Example</DisplayName>
<PublisherDisplayName>Microsoft Corporation</PublisherDisplayName>
<Logo>Assets\StoreLogo.png</Logo>
</Properties>
Aplikasi
Manifes aplikasi dapat berisi beberapa Application
elemen, yang masing-masing memiliki nama tampilan yang muncul pada petak peta di klien. Bagian Application
manifes aplikasi berisi bidang dalam tabel berikut.
Bidang | Deskripsi |
---|---|
Id | String ini diisi secara berbeda dalam skenario berikut:
|
Eksekusi | Nilai bidang ini adalah nama output dari perakitan proyek. Token yang dapat dieksekusi $targetnametoken$.exe yang digunakan dalam file manifes sumber (Package.appxmanifest) diganti dengan nama file aktual saat manifes dibuat. |
EntryPoint | Nilai ini didasarkan pada nilai dan Id yang dihasilkanExecutable . |
Contoh Application
output:
<Applications>
<Application Id="App" Executable="UWPAppExample.exe" EntryPoint="UWPAppExample.App">
<!-- Other elements configured within the Application, such as Extensions, VisualElements, etc. -->
</Applications>
PackageDependency
Bagian ini PackageDependency
berisi semua dependensi pustaka komponen Windows untuk paket ini. Misalnya, jika proyek Anda memiliki referensi ke WinJS, Visual Studio mengambil informasi identitas paket dependensi saat manifes dibuat. Visual Studio kemudian mengisi bagian ini dengan Name
bidang dan MinVersion
untuk setiap paket dependen.
Dalam proyek C++ asli, Visual Studio akan menambahkan referensi ke Visual C/C++ Runtime:
<Dependencies>
<PackageDependency Name="Microsoft.VCLibs.140.00.Debug" MinVersion="14.0.30035.0" Publisher="CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US" />
</Dependencies>
Ekstensi pendaftaran Windows Runtime
Anda dapat menerapkan komponen Windows Runtime untuk aplikasi Anda, tetapi Anda harus mendaftarkan komponen tersebut dengan sistem operasi agar berjalan dengan benar. Untuk mendaftarkan komponen Windows Runtime, Anda harus meletakkan informasi pendaftaran dalam file WinMD dan dalam manifes aplikasi. Jika proyek mengimplementasikan komponen Windows Runtime, output build proyek akan berisi file WinMD. Visual Studio mengekstrak informasi pendaftaran Windows Runtime dari file WinMD dan menghasilkan elemen yang sesuai Extension
dalam manifes aplikasi.
Sistem ini mendukung dua bentuk server: server .dll (dalam proses) dan server .exe (di luar proses). Server ini memerlukan informasi pendaftaran yang serupa tetapi berbeda yang harus disalin ke dalam manifes aplikasi. Visual Studio mendukung pembuatan manifes hanya untuk server .dll, dan ekstensi DLLServer diperlukan untuk mendaftarkan server .dll. Nilai berikut dalam manifes aplikasi diambil dari file WinMD untuk membuat Ekstensi DLLServer:
- DllPath
- ActivatableClassId
- ThreadingModel
- ActivatableClass (atribut ActivatableClassId)
Berikut adalah contoh XML output:
<extension category="Microsoft.Windows.ActivatableClass">
<dllServer>
<dllPath>Fabrikam.dll</dllPath>
<activatableClass activatableClassId="Fabrikam.MyClass" threadingModel="sta" />
</dllServer>
</extension>
Untuk informasi selengkapnya tentang topik ini, lihat komponen Windows Runtime.
Sumber
Bagian berisi Resources
entri untuk setiap bahasa yang didukung aplikasi. Anda harus memiliki setidaknya satu bahasa sumber daya yang ditentukan dalam manifes aplikasi. Visual Studio secara otomatis menghasilkan daftar bahasa yang didukung berdasarkan informasi pelokalan dalam proyek. Token bahasa sumber daya "x-generate" yang digunakan dalam file manifes sumber (Package.appxmanifest) diganti dengan kode bahasa aktual saat manifes dibuat. Berikut adalah contoh XML output:
<Resources>
<Resource Language="en-us">
<Resource Language="fr-fr">
</Resources>
Entri pertama dalam daftar adalah bahasa default untuk aplikasi.
TargetDeviceFamily
Bagian TargetDeviceFamily
berisi bidang berikut:
- Nama
- MinVersion
- MaxVersionTested
<Dependencies>
<TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.17763.0" MaxVersionTested="10.0.22000.0" />
</Dependencies>
Elemen-elemen ini diisi dari properti MSBuild.
Lihat juga
Mengemas aplikasi UWP dengan Visual Studio
Arsitektur paket aplikasi
Windows 10 referensi skema manifes paket
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk