Bagikan melalui


Anatomi paket VSIX

Paket VSIX adalah .vsix file yang berisi satu atau beberapa ekstensi Visual Studio, bersama dengan metadata yang digunakan Visual Studio untuk mengklasifikasikan dan menginstal ekstensi. Metadata tersebut terkandung dalam manifes VSIX dan file [Content_Types].xml . Paket VSIX mungkin juga berisi satu atau beberapa file Extension.vsixlangpack untuk menyediakan teks penyiapan yang dilokalkan, dan mungkin berisi paket VSIX tambahan untuk menginstal dependensi.

Format paket VSIX mengikuti standar Konvensi Kemasan Terbuka (OPC). Paket berisi biner dan file pendukung, bersama dengan file [Content_Types].xml dan .vsix file manifes. Satu paket VSIX mungkin berisi output dari beberapa proyek, atau bahkan beberapa paket yang memiliki manifesnya sendiri.

Catatan

Nama file yang disertakan dalam paket VSIX tidak boleh menyertakan spasi, atau karakter yang dicadangkan dalam Pengidentifikasi Sumber Daya Seragam (URI), seperti yang didefinisikan di bawah [RFC2396].

Manifes VSIX

Manifes VSIX berisi informasi tentang ekstensi yang akan diinstal, dan mengikuti Skema VSIX. Untuk informasi selengkapnya, lihat Referensi skema ekstensi VSIX 2.0.

Manifes VSIX harus dinamai extension.vsixmanifest saat disertakan dalam .vsix file.

Konten

Paket VSIX mungkin berisi templat, item kotak alat, VSPackages, atau jenis ekstensi lain yang didukung oleh Visual Studio.

Paket bahasa

Paket VSIX mungkin berisi sekali atau beberapa file Extension.vsixlangpack untuk menyediakan teks yang dilokalkan selama penginstalan. Untuk informasi selengkapnya, lihat Melokalisasi paket VSIX.

Dependensi dan referensi

Paket VSIX mungkin berisi paket VSIX lainnya sebagai referensi. Masing-masing paket lainnya harus menyertakan manifes VSIX-nya sendiri.

Jika pengguna mencoba menginstal ekstensi yang memiliki dependensi, alat penginstal memverifikasi bahwa rakitan yang diperlukan diinstal pada sistem pengguna. Jika rakitan yang diperlukan tidak ditemukan, Ekstensi dan Pembaruan menampilkan daftar rakitan yang hilang.

Jika manifes ekstensi menyertakan satu atau beberapa elemen Dependensi , Ekstensi dan Pembaruan membandingkan manifes setiap referensi dengan ekstensi yang diinstal pada sistem, dan menginstal ekstensi yang dirujuk jika belum diinstal. Jika versi ekstensi yang dirujuk sebelumnya diinstal, versi yang lebih baru akan menggantikannya.

Jika proyek dalam solusi multi-proyek menyertakan referensi ke proyek lain dalam solusi yang sama, paket VSIX menyertakan dependensi proyek tersebut. Anda dapat mengambil alih perilaku ini dengan memilih referensi untuk proyek internal, lalu, di jendela Properti , mengatur properti Grup Output yang Disertakan dalam VSIX ke BuiltProjectOutputGroup.

Untuk menyertakan DLL satelit dari rakitan yang dirujuk dalam paket VSIX, tambahkan SatelliteDllsProjectOutputGroup ke properti Grup Output yang Disertakan dalam VSIX .

Lokasi penginstalan

Selama penginstalan, Ekstensi dan Pembaruan mencari konten paket VSIX dalam folder di bawah %LocalAppData%\Microsoft\VisualStudio\{version}\Extensions.

Secara default, penginstalan hanya berlaku untuk pengguna saat ini, karena %LocalAppData% adalah direktori khusus pengguna. Namun, jika Anda mengatur AllUsers elemen manifes ke True, ekstensi akan diinstal di bawah ..\{VisualStudioInstallationFolder}\Common7\IDE\Extensions dan akan tersedia untuk semua pengguna komputer.

[Content_Types].xml

File [Content_Types].xml mengidentifikasi jenis file dalam file yang diperluas .vsix . Visual Studio menggunakan file ini selama penginstalan paket tetapi tidak menginstal file itu sendiri. Untuk informasi selengkapnya tentang file ini, lihat Struktur file [Content_types].xml.

File [Content_Types].xml diperlukan oleh standar Konvensi Kemasan Terbuka (OPC). Untuk informasi selengkapnya tentang OPC, lihat OPC: Standar baru untuk mengemas data Anda.