VSIX paketinin anatomisi

VSIX paketi, Visual Studio'nın uzantıları sınıflandırmak ve yüklemek için kullandığı meta verilerle birlikte bir veya daha fazla Visual Studio uzantısı içeren bir .vsix dosyadır. Bu meta veriler VSIX bildiriminde ve [Content_Types].xml dosyasında yer alır. BIR VSIX paketi, yerelleştirilmiş kurulum metni sağlamak için bir veya daha fazla Extension.vsixlangpack dosyası içerebilir ve bağımlılıkları yüklemek için ek VSIX paketleri içerebilir.

VSIX paket biçimi Open Packaging Conventions (OPC) standardını izler. Paket, [Content_Types].xml dosyası ve bildirim dosyasıyla birlikte ikili dosyalar ve .vsix destekleyici dosyalar içerir. Bir VSIX paketi birden çok projenin veya hatta kendi bildirimleri olan birden çok paketin çıkışını içerebilir.

Not

VSIX paketlerine dahil edilen dosyaların adları, [RFC2396] altında tanımlandığı gibi Tekdüzen Kaynak Tanımlayıcıları'nda (URI) ayrılmış boşluklar veya karakterler içermemelidir.

VSIX bildirimi

VSIX bildirimi, yüklenecek uzantı hakkında bilgi içerir ve VSIX Şeması'nı izler. Daha fazla bilgi için bkz . VSIX uzantı şeması 2.0 başvurusu.

VSIX bildirimi bir .vsix dosyaya eklendiğinde adlandırılmalıdırextension.vsixmanifest.

İçerik

VSIX paketi şablonlar, araç kutusu öğeleri, VSPackage'lar veya Visual Studio tarafından desteklenen başka bir uzantı türü içerebilir.

Dil paketleri

Bir VSIX paketi, yükleme sırasında yerelleştirilmiş metin sağlamak için bir veya daha fazla Extension.vsixlangpack dosyası içerebilir. Daha fazla bilgi için bkz . VSIX paketlerini yerelleştirme.

Bağımlılıklar ve başvurular

VSIX paketi, başvuru olarak başka VSIX paketleri içerebilir. Bu diğer paketlerin her biri kendi VSIX bildirimini içermelidir.

Bir kullanıcı bağımlılıkları olan bir uzantı yüklemeye çalışırsa, yükleyici gerekli derlemelerin kullanıcı sistemine yüklendiğini doğrular. Gerekli derlemeler bulunamazsa Uzantılar ve Güncelleştirmeler eksik derlemelerin listesini görüntüler.

Uzantı bildirimi bir veya daha fazla Bağımlılık öğesi içeriyorsa Uzantılar ve Güncelleştirmeler, her başvurunun bildirimini sistemde yüklü olan uzantılarla karşılaştırır ve henüz yüklü değilse başvuruda bulunan uzantıyı yükler. Başvuruda bulunan bir uzantının önceki bir sürümü yüklüyse, daha yeni sürüm bu uzantının yerini alır.

Çok projeli bir çözümdeki bir proje aynı çözümdeki başka bir projeye başvuru içeriyorsa VSIX paketi bu projenin bağımlılıklarını içerir. İç proje başvuruyu seçip Özellikler penceresinde VSIX'e Dahil Edilen Çıkış Grupları özelliğini BuiltProjectOutputGroupolarak ayarlayarak bu davranışı geçersiz kılabilirsiniz.

VSIX paketinde başvuruda bulunılan derlemelerden gelen uydu DLL'lerini eklemek için VSIX'e Dahil Edilen Çıkış Grupları özelliğine ekleyinSatelliteDllsProjectOutputGroup.

Yükleme konumu

Yükleme sırasında Uzantılar ve Güncelleştirmeler altında %LocalAppData%\Microsoft\VisualStudio\{version}\Extensionsbir klasörde VSIX paketinin içeriğini arar.

Varsayılan olarak, %LocalAppData% kullanıcıya özgü bir dizin olduğundan yükleme yalnızca geçerli kullanıcıya uygulanır. Ancak, bildirimin AllUsers öğesini olarak Trueayarlarsanız uzantı altına ..\{VisualStudioInstallationFolder}\Common7\IDE\Extensions yüklenir ve bilgisayarın tüm kullanıcıları tarafından kullanılabilir.

[Content_Types].xml

[Content_Types].xml dosyası, genişletilmiş .vsix dosyadaki dosya türlerini tanımlar. Visual Studio, paketin yüklenmesi sırasında bu dosyayı kullanır ancak dosyanın kendisini yüklemez. Bu dosya hakkında daha fazla bilgi için bkz . [Content_types].xml dosyasının yapısı.

Open Packaging Conventions (OPC) standardı tarafından [Content_Types].xml dosyası gereklidir. OPC hakkında daha fazla bilgi için bkz . OPC: Verilerinizi paketlemeye yönelik yeni bir standart.