Aracılığıyla paylaş


VSIX uzantı şeması 2.0 başvurusu

VSIX dağıtım bildirim dosyası, bir VSIX paketinin içeriğini açıklar. Dosya biçimi bir şema tarafından yönetilir. Bu şemanın 2.0 sürümü özel türlerin ve özniteliklerin eklenmesini destekler. Bildirimin şeması genişletilebilir. Bildirim yükleyicisi, anlamadığı XML öğelerini ve özniteliklerini yoksayar.

Paket bildirimi şeması

Bildirim XML dosyasının kök öğesi şeklindedir <PackageManifest>. Bildirim biçiminin sürümü olan tek bir özniteliği Versionvardır. Biçimde büyük değişiklikler yapılırsa, sürüm biçimi değiştirilir. Bu makalede, özniteliği Version="2.0" değerine ayarlanarak Version bildirimde belirtilen bildirim biçimi sürüm 2.0 açıklanır.

PackageManifest öğesi

Kök öğesinde <PackageManifest> aşağıdaki öğeleri kullanabilirsiniz:

  • <Metadata> - Paketin kendisi hakkında meta veriler ve reklam bilgileri. Bildirimde yalnızca bir Metadata öğeye izin verilir.

  • <Installation> - Bu bölüm, bu uzantı paketinin yüklenebileceği uygulama SKU'ları da dahil olmak üzere nasıl yüklenebileceğini tanımlar. Bildirimde yalnızca tek Installation bir öğeye izin verilir. Bildirimin bir öğesi olmalıdır, aksi durumda bu paket herhangi bir Installation SKU'ya yüklenmez.

  • <Dependencies> - Bu paket için isteğe bağlı bir bağımlılık listesi burada tanımlanmıştır.

  • <Assets> - Bu bölüm, bu paketin içinde yer alan tüm varlıkları içerir. Bu bölüm olmadan, bu paket hiçbir içeriği ortaya çıkarmayacak.

  • <AnyElement>* - Bildirim şeması, diğer öğelere izin verecek kadar esnektir. Bildirim yükleyicisi tarafından tanınmayan tüm alt öğeler, Uzantı Yöneticisi API'sinde extra XmlElement nesneleri olarak kullanıma sunulur. VSIX uzantıları, bu alt öğeleri kullanarak, Visual Studio'da çalışan kodun çalışma zamanında erişebileceği bildirim dosyasında ek veriler tanımlayabilir. Bkz . Microsoft.VisualStudio.ExtensionManager.IExtension.AdditionalElements.

Meta veri öğesi

Bu bölüm paket, kimliği ve reklam bilgileri hakkındaki meta verilerdir. <Metadata> aşağıdaki öğeleri içerir:

  • <Identity> - Bu paket için tanımlama bilgilerini tanımlar ve aşağıdaki öznitelikleri içerir:

    • Id - Bu öznitelik, yazarı tarafından seçilen paket için benzersiz bir kimlik olmalıdır. Ad, CLR türlerinin ad alanıyla aynı şekilde nitelenmelidir: Company.Product.Feature.Name. Id Özniteliği 100 karakterle sınırlıdır.

    • Version - Bu paketin sürümünü ve içeriğini tanımlar. Bu öznitelik, CLR derleme sürüm oluşturma biçimini izler: Major.Minor.Build.Revision (1.2.40308.00). Daha yüksek sürüm numarasına sahip bir paket, paketin güncelleştirmeleri olarak kabul edilir ve mevcut yüklü sürüm üzerinden yüklenebilir.

    • Language - Bu öznitelik, paket için varsayılan dildir ve bu bildirimdeki metin verilerine karşılık gelir. Bu öznitelik, kaynak derlemeleri için CLR yerel ayar kodu kuralını izler, örneğin: en-us, en, fr-fr. Visual Studio'nun herhangi bir sürümünde çalışacak dilden bağımsız bir uzantı bildirmeyi belirtebilirsiniz neutral . Varsayılan değer şudur: neutral.

    • Publisher - Bu öznitelik, bu paketin yayımcısını bir şirket veya tek bir ad olarak tanımlar. Publisher Özniteliği 100 karakterle sınırlıdır.

  • <DisplayName> - Bu öğe, Uzantı Yöneticisi kullanıcı arabiriminde görüntülenen kolay paket adını belirtir. İçerik DisplayName 50 karakterle sınırlıdır.

  • <Description> - Bu isteğe bağlı öğe, Uzantı Yöneticisi kullanıcı arabiriminde görüntülenen paketin ve içeriğinin kısa bir açıklamasıdır. İçerik Description istediğiniz metni içerebilir, ancak 1000 karakterle sınırlıdır.

  • <MoreInfo> - Bu isteğe bağlı öğe, bu paketin tam açıklamasını içeren çevrimiçi bir sayfanın URL'sidir. Protokol http olarak belirtilmelidir.

  • <License> - Bu isteğe bağlı öğe, pakette bulunan bir lisans dosyasının (.txt, .rtf) göreli yoludur.

  • <ReleaseNotes> - Bu isteğe bağlı öğe, pakette (.txt, .rtf) bulunan bir sürüm notları dosyasının göreli yolu veya yayın notlarını görüntüleyen bir web sitesinin URL'sidir.

  • <Icon> - Bu isteğe bağlı öğe, pakette bulunan bir görüntü dosyasının (png, bmp, jpeg, ico) göreli yoludur. Simge resmi 32x32 piksel olmalıdır (veya bu boyuta küçültülmelidir) ve listview kullanıcı arabiriminde görünür. Hiçbir Icon öğe belirtilmezse, kullanıcı arabirimi varsayılan bir kullanır.

  • <PreviewImage> - Bu isteğe bağlı öğe, pakette bulunan bir görüntü dosyasının (png, bmp, jpeg) göreli yoludur. Önizleme resmi 200x200 piksel olmalı ve ayrıntılar kullanıcı arabiriminde görüntülenmelidir. Hiçbir PreviewImage öğe belirtilmezse, kullanıcı arabirimi varsayılan bir kullanır.

  • <Tags> - Bu isteğe bağlı öğe, arama ipuçları için kullanılan diğer noktalı virgülle ayrılmış metin etiketlerini listeler. Tags öğesi 100 karakterle sınırlıdır.

  • <GettingStartedGuide> - Bu isteğe bağlı öğe, bir HTML dosyasının göreli yolu veya bu paket içindeki uzantının veya içeriğin nasıl kullanılacağı hakkında bilgi içeren bir web sitesinin URL'sidir. Bu kılavuz bir yüklemenin parçası olarak başlatılır.

  • <AnyElement>* - Bildirim şeması, diğer öğelere izin verecek kadar esnektir. Bildirim yükleyicisi tarafından tanınmayan tüm alt öğeler XmlElement nesnelerinin listesi olarak sunulur. VSIX uzantıları bu alt öğeleri kullanarak bildirim dosyasında ek veriler tanımlayabilir ve bunları çalışma zamanında numaralandırabilir.

Yükleme öğesi

Bu bölüm, bu paketin nasıl yüklenebileceğini ve yükleyebileceği uygulama SKU'larını tanımlar. Bu bölüm aşağıdaki öznitelikleri içerir:

  • Experimental - Şu anda tüm kullanıcılar için yüklü olan bir uzantınız varsa ancak aynı bilgisayarda güncelleştirilmiş bir sürüm geliştiriyorsanız bu özniteliği true olarak ayarlayın. Örneğin, tüm kullanıcılar için MyExtension 1.0 yüklediyseniz ancak aynı bilgisayarda MyExtension 2.0 hatalarını ayıklamak istiyorsanız Experimental="true" değerini ayarlayın. Bu öznitelik Visual Studio 2015 Güncelleştirme 1 ve sonraki sürümlerde kullanılabilir.

  • Scope - Bu öznitelik "Global" veya "ProductExtension" değerini alabilir:

    • "Genel", yüklemenin belirli bir SKU kapsamına alınmadığını belirtir. Örneğin, bu değer bir Uzantı SDK'sı yüklendiğinde kullanılır.

    • "ProductExtension", tek tek Visual Studio SKU'ları kapsamındaki geleneksel bir VSIX Uzantısının (sürüm 1.0) yüklendiğini belirtir. Bu varsayılan değerdir.

  • AllUsers - Bu isteğe bağlı öznitelik, bu paketin tüm kullanıcılar için yüklenip yüklenmeyeceğini belirtir. Varsayılan olarak, paketin kullanıcı başına olduğunu belirten bu öznitelik false'tur. (Bu değeri true olarak ayarladığınızda, sonuçta elde edilen VSIX'i yüklemek için yükleyen kullanıcının yönetici ayrıcalık düzeyine yükseltmesi gerekir.

  • InstalledByMsi - Bu isteğe bağlı öznitelik, bu paketin bir MSI tarafından yüklenip yüklenmediğini belirtir. MSI tarafından yüklenen paketler, Visual Studio Uzantı Yöneticisi tarafından değil MSI (Programlar ve Özellikler) tarafından yüklenir ve yönetilir. Varsayılan olarak, bu öznitelik false'tur ve paketin bir MSI tarafından yüklenmediğini belirtir.

  • SystemComponent - Bu isteğe bağlı öznitelik, bu paketin bir sistem bileşeni olarak kabul edilip edilmeyeceğini belirtir. Sistem bileşenleri Uzantı Yöneticisi kullanıcı arabiriminde gösterilmez ve güncelleştirilemez. Varsayılan olarak, paketin bir sistem bileşeni olmadığını belirten bu öznitelik false'tur.

  • AnyAttribute*Installation- öğesi, çalışma zamanında ad-değer çifti sözlüğü olarak kullanıma sunulacak açık uçlu öznitelik kümesini kabul eder.

  • <InstallationTarget> -Bu öğe, VSIX yükleyicisinin paketi yüklediği konumu denetler. Özniteliğin Scope değeri "ProductExtension" ise, paketin uzantılara kullanılabilirliğini tanıtmak için içeriğinin bir parçası olarak bir bildirim dosyası yükleyen bir SKU'yu hedeflemesi gerekir. <InstallationTarget> özniteliği "ProductExtension" açık veya varsayılan değerine sahip olduğunda Scope öğesi aşağıdaki özniteliklere sahiptir:

    • Id - Bu öznitelik paketi tanımlar. özniteliği ad alanı kuralını izler: Company.Product.Feature.Name. Id Özniteliği yalnızca alfasayısal karakterler içerebilir ve 100 karakterle sınırlıdır. Beklenen değerler:

      • Microsoft.VisualStudio.IntegratedShell

      • Microsoft.VisualStudio.Pro

      • Microsoft.VisualStudio.Premium

      • Microsoft.VisualStudio.Ultimate

      • Microsoft.VisualStudio.VWDExpress

      • Microsoft.VisualStudio.VPDExpress

      • Microsoft.VisualStudio.VSWinExpress

      • Microsoft.VisualStudio.VSLS

      • My.Shell.App

    • Version - Bu öznitelik, bu SKU'nun desteklenen en düşük ve en yüksek sürümlerine sahip bir sürüm aralığı belirtir. Bir paket, desteklediği SKU'ların sürümlerini ayrıntılandırabilir. Sürüm aralığı gösterimi [10.0 - 11.0], burada

      • [ - en düşük sürüm dahil.

      • ] - en yüksek sürüm (dahil).

      • ( - en düşük sürüme özeldir.

      • ) - en yüksek sürüme özeldir.

      • Tek sürüm # - yalnızca belirtilen sürüm.

      Önemli

      VSIX Şemasının 2.0 sürümü Visual Studio 2012'de kullanıma sunulmuştur. Bu şemayı kullanmak için makinede Visual Studio 2012 veya sonraki bir sürümünün yüklü olması ve bu ürünün parçası olan VSIXInstaller.exe dosyasını kullanmanız gerekir. Visual Studio'nun önceki sürümlerini Visual Studio 2012 veya sonraki bir VSIXInstaller ile hedefleyebilirsiniz, ancak yalnızca yükleyicinin sonraki sürümlerini kullanabilirsiniz.

      Visual Studio 2017 sürüm numaraları Visual Studio derleme numaraları ve yayın tarihlerinde bulunabilir.

      Visual Studio 2017 sürümleri için sürüm ifade ederken, ikincil sürüm her zaman 0 olmalıdır. Örneğin, Visual Studio 2017 sürüm 15.3.26730.0 , [15.0.26730.0,16.0) olarak ifade edilmelidir. Bu yalnızca Visual Studio 2017 ve sonraki sürüm numaraları için gereklidir.

    • AnyAttribute*<InstallationTarget>- öğesi, çalışma zamanında ad-değer çifti sözlüğü olarak kullanıma sunulan açık uçlu bir öznitelik kümesine izin verir.

Dependencies öğesi

Bu öğe, bu paketin bildirdiğini bağımlılıkların listesini içerir. Herhangi bir bağımlılık belirtilirse, bu paketler (kendileriyle Idtanımlanır) daha önce yüklenmiş olmalıdır.

  • <Dependency> element - Bu alt öğe aşağıdaki özniteliklere sahiptir:

    • Id - Bu öznitelik, bağımlı paket için benzersiz bir kimlik olmalıdır. Bu kimlik değeri, bu paketin bağımlı olduğu bir paketin özniteliğiyle eşleşmelidir <Metadata><Identity>Id . Id özniteliği ad alanı kuralını izler: Company.Product.Feature.Name. Özniteliği yalnızca alfasayısal karakterler içerebilir ve 100 karakterle sınırlıdır.

    • Version - Bu öznitelik, bu SKU'nun desteklenen en düşük ve en yüksek sürümlerine sahip bir sürüm aralığı belirtir. Bir paket, desteklediği SKU'ların sürümlerini ayrıntılandırabilir. Sürüm aralığı gösterimi [12.0, 13.0], burada:

      • [ - en düşük sürüm dahil.

      • ] - en yüksek sürüm (dahil).

      • ( - en düşük sürüme özeldir.

      • ) - en yüksek sürüme özeldir.

      • Tek sürüm # - yalnızca belirtilen sürüm.

    • DisplayName - Bu öznitelik, iletişim kutuları ve hata iletileri gibi kullanıcı arabirimi öğelerinde kullanılan bağımlı paketin görünen adıdır. Bağımlı paket MSI tarafından yüklenmediği sürece özniteliği isteğe bağlıdır.

    • Location - Bu isteğe bağlı öznitelik, bu VSIX içindeki iç içe vsix paketinin göreli yolunu veya bağımlılığın indirme konumunun URL'sini belirtir. Bu öznitelik, kullanıcının önkoşul paketini bulmasına yardımcı olmak için kullanılır.

    • AnyAttribute*Dependency- öğesi, çalışma zamanında ad-değer çifti sözlüğü olarak kullanıma sunulacak açık uçlu öznitelik kümesini kabul eder.

Assets öğesi

Bu öğe, bu paket tarafından ortaya çıkarılmış her uzantı veya içerik öğesi için bir etiket listesi <Asset> içerir.

  • <Asset> - Bu öğe aşağıdaki öznitelikleri ve öğeleri içerir:

    • Type - Bu öğe tarafından temsil edilen uzantı veya içerik türü. Her <Asset> öğenin tek Typebir öğesi olmalıdır, ancak birden çok <Asset> öğe aynı Typeolabilir. Bu öznitelik, ad alanı kurallarına göre tam ad olarak gösterilmelidir. Bilinen türler şunlardır:

      1. Microsoft.VisualStudio.VsPackage

      2. Microsoft.VisualStudio.MefComponent

      3. Microsoft.VisualStudio.ToolboxControl

      4. Microsoft.VisualStudio.Samples

      5. Microsoft.VisualStudio.ProjectTemplate

      6. Microsoft.VisualStudio.ItemTemplate

      7. Microsoft.VisualStudio.Assembly

        Kendi türlerinizi oluşturabilir ve onlara benzersiz adlar verebilirsiniz. Visual Studio'da çalışma zamanında kodunuz Uzantı Yöneticisi API'sini kullanarak bu özel türleri numaralandırabilir ve bunlara erişebilir.

    • Path - varlığı içeren paket içindeki dosya veya klasörün göreli yolu.

    • TargetVersion - verilen varlığın geçerli olduğu sürüm aralığı. Varlıkların birden çok sürümünü Visual Studio'nun farklı sürümlerine göndermek için kullanılır. Etkili olması için Visual Studio 2017.3 veya daha yeni bir sürümünü gerektirir.

    • AnyAttribute* - Çalışma zamanında ad-değer çifti sözlüğü olarak kullanıma sunulan açık uçlu öznitelik kümesi.

      <AnyElement>* - Başlangıç ve bitiş etiketi arasında <Asset> yapılandırılmış içeriğe izin verilir. Tüm öğeler XmlElement nesnelerinin listesi olarak sunulur. VSIX uzantıları bildirim dosyasında yapılandırılmış türe özgü meta veriler tanımlayabilir ve bunları çalışma zamanında numaralandırabilir.

Uzantı bildirimleri için yer tutucu söz dizimi

dosya, .vsixmanifest VSIX paketi için derlemeyi tanımlar. Derleme istendiğinde Visual Studio, MSBuild kullanılarak oluşturulan bir derleme betiği oluşturmak için bildirimi ayrıştırır. VSIX paketi oluşturulmadan önce değerlendirilen yer tutucuları kullanarak belirli değerleri derleme zamanında ayarlayabilirsiniz. Yer tutucular VSIX projesinde, MSBuild özelliklerinde ve MSBuild hedeflerinde başvuruda bulunan projelere başvurmak için kullanılır ve çoğunlukla proje çıktı gruplarını temsil eden hedeflerdir. Proje çıkış grupları bir projeyle ilişkili dosya koleksiyonlarını temsil edebilir ve bunlardan bazıları bir VSIX paketine eklenebilir. Örneğin, PkgDefProjectOutputGroup, BuiltProjectOutputGroup veya SatelliteDllsProjectOutputGroup.

VSIX projesinde tanımlanan bir özelliğe başvurmak için, proje dosyasındakiyle $(PropertyName)aynı söz dizimini kullanın.

Özel belirteç %CurrentProject% VSIX projesine başvurur. VsIX projenizde NameProjectReference başvuruda bulunan diğer projelere başvurmak için, öğesini bir VSIX proje dosyasında kanal simgeleri (| ) ile çevreleyebilirsiniz. Örneğin, |ProjectTemplate1|.

Bir MSBuild hedefine, projenin adıyla ( Name VSIX projesindeki proje başvurusunun özelliği) ve ardından hedef adıyla başvurabilirsiniz. Örneğin, VSIX paketinde başvuruda bulunan projelerden birinde hedefe başvurmak Version için söz dizimini |ProjectName;Version|kullanın. Hedef, kullanıldığı bağlamla eşleşen bir Outputs değere sahip olmalıdır; VSIX bildirimi, dize değerlerinin ve öğe koleksiyonlarının yerinin uygun olduğu yerleri içerir. Örneğin, bildirimdeki Sürüm dizesi aşağıdaki gibi değiştirilebilir:

<Identity Id="0000000-0000-0000-0000-000000000000" Version="|%CurrentProject%;GetVsixVersion|" Language="en-US" Publisher="Company" />

Bu durumda, VSIX projesinde basit bir GetVsixVersion dize döndürmesi gereken bir hedef olmalıdır. Örneğin,

<Target Name="GetVsixVersion" Outputs="$(_VsixVersion)">
  <PropertyGroup>
     <_VsixVersion>1.2.3.4</_VsixVersion>
  </PropertyGroup>
</Target>

Yer tutucular, SDK stili VSIX projesiyle doğru VSIX bildirim dosyasını oluşturmak için kullanılır. Visual Studio'nun hedef sürümünü 'TargetFramework' özelliğiyle belirttiğinizi varsayalım:

  • <TargetFramework>vs17.0</TargetFramework> // Target Visual Studio 2022 version 17.0
  • <TargetFramework>vs16.10</TargetFramework> // Target Visual Studio 2019 version 16.10

Hedef çerçeveye bağlı olarak VSIX derlemesi, uzantı bildirim dosyasında tanımlanan değerleri aşağıdaki gibi dönüştürür. Bildirim dosyasında aşağıdaki söz dizimi için:

<InstallationTarget Id="Microsoft.VisualStudio.Community" Version="|%CurrentProject%;GetInstallationTargetVersion|" />

VSIX projesi MSBuild kodunda kullanılan çıkış:

    <InstallationTarget Id="Microsoft.VisualStudio.Community" Version="[17.0, 18.0)">
      <ProductArchitecture>amd64</ProductArchitecture>
    </InstallationTarget>

Ayrıca, bir uzantı bildiriminde aşağıdaki kod için:

 <Prerequisite Id="Microsoft.VisualStudio.Component.CoreEditor" Version="|%CurrentProject%;GetPrerequisiteTargetVersion|" DisplayName="Visual Studio core editor" />

Proje derleme kodu:

<Prerequisite Id="Microsoft.VisualStudio.Component.CoreEditor" Version="[17.0, 18.0)" DisplayName="Visual Studio core editor" />

Bu işlevsellik, Visual Studio'nun proje çıktı gruplarına proje başvurusu adıyla başvurmak için oluşturduğu VSIX bildirim dosyalarında ve ardından MSBuild hedefinin adında noktalı virgülle ayrılmış olarak da kullanılır. Örneğin, dize |%CurrentProject%;PkgDefProjectOutputGroup| , geçerli VSIX projesiyle ilişkili dosyalara .pkgdef başvuran PkgDef çıkış grubu anlamına gelir. ProjectOutputGroup Microsoft.Common.CurrentVersion.targets sistem derleme dosyasında tanımlanan hedeflerden bazıları Visual Studio tarafından oluşturulan VSIX bildirimlerinde kullanılır. VSIX projesinde kullanılabilen ek proje çıktı grubu hedefleri Microsoft.VsSDK.targets içinde tanımlanır. Aşağıdaki tabloda tanımlı proje çıkış grupları gösterilmektedir:

ProjectOutputGroup Açıklama
BuiltProjectOutputGroup Derleme çıkışını temsil eden dosyalar.
ContentFilesProjectOutputGroup HTML ve CSS dosyaları gibi projeyle ilişkilendirilmiş ikili olmayan dosyalar.
DebugSymbolsProjectOutputGroup Visual Studio'nun deneysel örneğindeki bir uzantıda hata ayıklamaya yönelik sembol dosyaları (.pdb).
DocumentationFilesProjectOutputGroup XML belge dosyaları.
PkgDefProjectOutputGroup Paket tanımı (.pkgdef) dosyaları.
PriFilesOutputGroup .pri UWP projesiyle ilişkili kaynak dosyaları.
SatelliteDllsProjectOutputGroup Yerelleştirilmiş kaynaklar için uydu derlemeleri.
SDKRedistOutputGroup Bir proje tarafından başvuruda bulunan SDK'lardan yeniden dağıtılabilir klasörler.
SGenFilesOutputGroup GenerateSerializationAssemblies hedefi ve görevi tarafından oluşturulan GenerateSerializationAssemblies dosyaları.
SourceFilesProjectOutputGroup Kaynak kod dosyaları.
TemplateProjectOutputGroup Proje şablonları.

Derleme sistemi, bu çıkış gruplarını varsayılan derleme mantığına göre uygun dosyalarla doldurur. Özel bir derlemede, hedefinizdeki özniteliği yukarıdaki hedeflerden birine ayarlayarak BeforeTargets proje çıktı gruplarına öğeler ekleyebilirsiniz ve hedefte, çıktıları ayarlamak için görevin nasıl kullanılacağına örnek olarak yukarıda listelenen hedeflerin BuiltProjectOutputGroupKeyOutput kodunu izleyin.

Gelişmiş senaryolarda, bir derleme hedefine başvurabilir veya çağrılmasını istediğiniz özel bir hedef tanımlayabilir ve VSIX bildirimindeki herhangi bir öğenin değerlerini eklemek için burada açıklanan söz dizimini kullanabilirsiniz. Bir hedef, kullanıldığı bağlamın beklentisine uyan uygun çıkış parametresine sahip olmalıdır. Bir projenin yerleşik çıkışı gibi bir dosya koleksiyonu bekleniyorsa, gerekli MSBuild öğelerinin çıkışını veren bir hedef gereklidir. Daha önce bahsedilen proje çıkış grubu yerleşik hedefleri, kendi hedeflerinizi oluştururken örnek olarak kullanılabilir.

Örnek bildirim

<?xml version="1.0" encoding="utf-8"?>
<PackageManifest Version="2.0.0" xmlns="http://schemas.microsoft.com/developer/vsx-schema/2011" xmlns:d="http://schemas.microsoft.com/developer/vsx-schema-design/2011">
  <Metadata>
    <Identity Id="0000000-0000-0000-0000-000000000000" Version="1.0" Language="en-US" Publisher="Company" />
    <DisplayName>Test Package</DisplayName>
    <Description>Information about my package</Description>
    <MoreInfo>http://www.fabrikam.com/Extension1/</MoreInfo>
    <License>eula.rtf</License>
    <ReleaseNotes>notes.txt</ReleaseNotes>
    <Icon>Images\icon.png</Icon>
    <PreviewImage>Images\preview.png</PreviewImage>
  </Metadata>
  <Installation InstalledByMsi="false" AllUsers="false" SystemComponent="false" Scope="ProductExtension">
    <InstallationTarget Id="Microsoft.VisualStudio.Pro" Version="[11.0, 12.0]" />
  </Installation>
  <Dependencies>
    <Dependency Id="Microsoft.Framework.NDP" DisplayName="Microsoft .NET Framework" d:Source="Manual" Version="[4.5,)" />
    <Dependency Id="Microsoft.VisualStudio.MPF.12.0" DisplayName="Visual Studio MPF 12.0" d:Source="Installed" Version="[12.0]" />
  </Dependencies>
  <Assets>
    <Asset Type="Microsoft.VisualStudio.VsPackage" d:Source="Project" d:ProjectName="%CurrentProject%" Path="|%CurrentProject%;PkgdefProjectOutputGroup|" />
  </Assets>
</PackageManifest>

Ayrıca bkz.