Aracılığıyla paylaş


Visual Studio uzantınızı yükseltme

Uzantı geliştiricisiyseniz, bu makale uzantılarınızın Visual Studio 2026'da nasıl çalıştığını anlamanıza yardımcı olabilir. Visual Studio 2026 ile kullanıcılar Visual Studio 2022 uzantılarınızı kolayca yükleyebilir.

Az sayıda bozucu değişiklik olduğundan, uzantınızı yükseltmek kolay olmalıdır. Visual Studio 2026 ile mevcut uzantınızı test edebilir ve bize geri bildiriminizi sağlayabilirsiniz.

Not

Bu makaledeki bilgiler, Visual Studio 2022'den Visual Studio 2026 ile çalışacak bir uzantıyı yükseltmeyle ilgili.

Visual Studio 2019 uzantısını Visual Studio 2022 veya Visual Studio 2026 ile çalışacak şekilde yükseltme hakkında bilgi için, içindekiler tablosunun hemen üstündeki sürüm açılan listesini kullanarak bu sayfanın Visual Studio 2022 sürümüne geçin.

Uzantınızı yüklemek ve test etmek için:

  1. En son Visual Studio 2026'yi yükleyin.

  2. Uzantı Yöneticisi'ne gidin.

  3. Uzantınızı bulmak için Search işlevini kullanın.

  4. Yükleyin ve beklendiği gibi çalıştığını onaylayın.

Uzantınız bir MSI ise, Visual Studio 2026'da Visual Studio 2022 uzantılarının yüklenmesine izin vermek için yükleyiciyi değiştirmeniz gerekebilir.

Visual Studio Uzantı Yöneticisi'nin ekran görüntüsü.

Şimdilik, visual studio 2026 için özel olarak uzantı oluşturma yönergeleri yoktur. Ancak Visual Studio 2026 ile Visual Studio 2022 uzantılarını test edebilir ve kullanabilirsiniz

Kritik değişiklikler

IntegratedShell Yükleme hedefi kaldırıldı. Uzantınız IntegratedShell'i hedefliyorsa, VSIX bildirimindeki InstallationTarget, Microsoft.VisualStudio.Community olacak şekilde güncellenmelidir. öğesini denetlemek veya değiştirmek InstallationTargetiçin tasarımcıda VSIX Bildirimi'ni açın, Hedefleri Yükle'yi seçin. .vsixmanifest dosyasını XML metin düzenleyicisinde açarak InstallationTarget ayarlarını inceleyebilirsiniz.

Hataya Neden Olan Değişiklikler hakkında daha fazla bilgi edinmek için bkz. Visual Studio Genişletilebilirliği için hataya neden olan değişiklikler.

Geri Bildirim ve Sorun Raporlama

Visual Studio 2026'daki uzantılarınızla ilgili sorunlarla karşılaşırsanız, sorunu buradan bildirin ve bilet başvurusu ekleyin.

Önemli

Bu makaledeki öneriler, hem Visual Studio 2019 hem de Visual Studio 2022 veya sonraki sürümlerde büyük değişiklikler gerektiren uzantıları yükseltme konusunda geliştiricilere yol gösterebilir. Bu gibi durumlarda, iki VSIX projeniz ve koşullu derlemeniz olması önerilir.

Birçok uzantı, hem Visual Studio 2019'da hem de Visual Studio 2022'de (veya sonraki sürümlerde) çalışır ve bu makaledeki uzantınızı modernleştirmeye yönelik önerilere uyulmayacak küçük değişikliklerle çalışır. Visual Studio 2022'de uzantınızı deneyin ve uzantınız için en uygun seçeneği değerlendirin.

Visual Studio 2022 uzantısını Visual Studio 2026 ile çalışacak şekilde yükseltme hakkında bilgi için, içindekiler tablosunun hemen üstündeki sürüm açılan listesini kullanarak bu sayfanın en son sürümüne geçin.

Visual Studio 2022, 64 bitlik bir uygulamadır ve Visual Studio SDK'sında uyumsuzluk yaratan bazı değişiklikler içerir. Bu makalede, uzantınızın Visual Studio 2022'nin geçerli önizlemesiyle çalışmasını sağlamak için gereken adımlarda size yol gösterilir. Uzantınız daha sonra Visual Studio 2022 genel kullanıma ulaşmadan önce kullanıcıların yüklemesine hazır olabilir.

Visual Studio'yu yükleme ve uzantıları derleme

Visual Studio 2022'yi Visual Studio 2022 indirmelerinden yükleyin.

.NET dilinde yazılmış uzantılar

Yönetilen uzantılar için Visual Studio 2022'yi hedefleyen Visual Studio SDK'sı yalnızca NuGet'tedir:

  • Microsoft.VisualStudio.Sdk (17.x sürümleri) meta paketi, ihtiyacınız olacak başvuru derlemelerinin çoğunu veya tümünü getirir.
  • Microsoft.VSSDK.BuildTools (17.x sürümleri) paketine, Visual Studio 2022 uyumlu bir VSIX oluşturabilmesi için VSIX projenizden başvurulmalıdır.

Hataya neden olan değişikliklere başvurmasanız bile, uzantılar Herhangi bir CPU veya x64 platformu ile derlenmelidir. x86 platformu, Visual Studio 2022'deki 64 bit işlemle uyumlu değildir.

C++ ile yazılan uzantılar

C++ ile derlenen uzantılar için Visual Studio SDK'sı, her zamanki gibi yüklü Visual Studio SDK'sı ile kullanılabilir.

Kritik değişikliklere atıfta bulunmasanız bile, uzantıları, Visual Studio 2022 SDK ve AMD64 için özel olarak derlenmelidir.

Kod çalıştıran uzantılar

Kod çalıştıran uzantıların, "Visual Studio 2022" için özel olarak derlenmiş olması gerekir. Visual Studio 2022, Visual Studio'nun önceki bir sürümünü hedefleyen hiçbir uzantıyı yüklemez.

Önceki Visual Studio sürümleri için uzantılarınızı Visual Studio 2022'ye geçirmeyi öğrenin:

  1. Modernleştirin projelerinizi.
  2. Kaynak kodunuzu paylaşılan bir projeye yeniden düzenleyin, böylece Visual Studio 2022 ve daha eski sürümleri hedefleyebilirsiniz.
  3. Visual Studio 2022 hedefli VSIX projesi ve paket veya derleme yeniden eşleme tablosuekleyin.
  4. gerekli kod ayarlamalarını yapın.
  5. Visual Studio 2022 uzantınızıtest edin.
  6. Visual Studio 2022 uzantınızıyayımlayın.

Kod çalıştırmadan uzantılar

Çalışan kod (örneğin, proje veya öğe şablonları) içermeyen uzantılar iki ayrı VSIX'in üretimi de dahil olmak üzere önceki adımları izlemek için gerekli değildir.

Bunun yerine, source.extension.vsixmanifest dosyasının iki yükleme hedefi bildirmesi için bir VSIX dosyasını değiştirin:

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

Bu makaledeki paylaşılan projeleri ve birden çok VSIX'i kullanma adımlarını atlayabilirsiniz. testiniyapmaya devam edebilirsiniz.

Not

Visual Studio 2022 kullanarak yeni bir Visual Studio uzantısı yazıyorsanız ve Visual Studio 2019 veya daha önceki bir sürümünü de hedeflemek istiyorsanız bu kılavuzabakın.

MSBuild görevleri

MSBuild görevleri yazarsanız, Visual Studio 2022'de bunların büyük olasılıkla 64 bit MSBuild.exe işleminde yüklendiğini unutmayın. Görevinizin çalıştırılması için 32 bit işlem gerekiyorsa, MSBuild'in görevinizi 32 bit işlemde yüklediğinden emin olmak için Hedefleri ve görevleri yapılandırma kısmına bakın.

VSIX projenizi modernleştirme

Uzantınıza Visual Studio 2022 desteği eklemeden önce, mevcut projenizi temizlemenizi ve modernleştirmenizi kesinlikle öneririz:

  1. packages.config'den PackageReference'e geçirin.

  2. Tüm doğrudan Visual Studio SDK derleme başvurularını PackageReference öğeleriyle değiştirin.

    -<Reference Include="Microsoft.VisualStudio.OLE.Interop" />
    +<PackageReference Include="Microsoft.VisualStudio.OLE.Interop" Version="..." />
    

    Bahşiş

    çok sayıda derleme başvurusunu, meta paket için yalnızca bir PackageReference örnekle değiştirebilirsiniz.

    -<Reference Include="Microsoft.VisualStudio.OLE.Interop" />
    -<Reference Include="Microsoft.VisualStudio.Interop" />
    -<Reference Include="Microsoft.VisualStudio.Interop.8.0" />
    +<PackageReference Include="Microsoft.VisualStudio.Sdk" Version="..." />
    

    Hedeflediğiniz en düşük Visual Studio sürümüyle eşleşen paket sürümlerini seçtiğinizden emin olun.

Visual Studio SDK'sına özgü olmayan bazı derlemeler (örneğin, Newtonsoft.Json.dll) Visual Studio 2022'ye kadar basit bir <Reference Include="Newtonsoft.Json" /> başvurusuyla tespit edilebilir. Ancak Visual Studio 2022'de bunun yerine bir paket başvurusu gerekir. Bunun nedeni, bazı Visual Studio çalışma zamanı ve SDK dizinlerinin MSBuild'deki varsayılan derleme arama yolundan kaldırılmış olmasıdır.

Doğrudan derleme başvurularından NuGet paket başvurularına geçişte, NuGet bağımlılıkların geçişli kapanışını otomatik olarak yüklediğinden ek derleme başvuruları ve çözümleyici paketleri seçebilirsiniz. Bu genellikle sorun olmaz, ancak derlemeniz sırasında ek uyarılarla sonuçlanabilir. Bu uyarıları inceleyin ve olabildiğince çok sorunu çözün. Çözümleyememenize neden olan uyarıları engellemek için kod içi #pragma warning disable <id> bölgeleri kullanmayı göz önünde bulundurun.

Birden çok hedefleme için paylaşılan projeleri kullanma

Paylaşılan projeler, Visual Studio 2015'te kullanıma sunulan bir proje türüdür. Visual Studio'daki paylaşılan projeler, koşullu derleme sembolleri ve benzersiz başvuru kümeleri kullanılarak kaynak kodu dosyalarının birden çok proje arasında paylaşılıp farklı şekilde oluşturulmasını sağlar.

Visual Studio 2022, önceki tüm Visual Studio sürümlerinden ayrı bir başvuru derlemeleri kümesi gerektirir. Bu nedenle, visual studio 2022, önceki sürümler ve sonraki sürümler için uzantınızı kolayca çoklu hedeflemek için paylaşılan projeleri kullanmanızı öneririz. Bu teknik size kod paylaşımı ancak farklı başvurular verir.

Visual Studio uzantıları bağlamında, Visual Studio 2022 ve üzeri için bir VSIX projeniz ve Visual Studio 2019 ve önceki sürümleri için bir VSIX projeniz olabilir. Bu projelerin her biri yalnızca bir source.extension.vsixmanifest örneği içerir ve paket 16.x SDK'sına veya 17.x SDK'sına başvurur. Bu VSIX projeleri, iki Visual Studio sürümünde paylaşılabilen tüm kaynak kodunuzu barındıracak yeni bir ortak projeye ortak proje referansı da içerecektir.

Bu bölümde, Visual Studio 2019'a yönelik bir VSIX projeniz olduğu ve uzantınızın Visual Studio 2022'de çalışmasını istediğiniz varsayılır.

Visual Studio 2019 kullanarak tüm bu adımları tamamlayabilirsiniz:

  1. Henüz yapmadıysanız, bu güncelleştirme işleminin sonraki adımlarını kolaylaştırmak için projelerinizi modernleştirin.

  2. Visual Studio SDK'sına başvuran mevcut her proje için çözümünüz için yeni bir paylaşılan proje ekleyin. Çözüme sağ tıklayın ve Ekle>Yeni Projeseçin.

    Yeni proje ekleme seçimlerini gösteren ekran görüntüsü.

  3. Yeni proje ekle iletişim kutusunda, paylaşılanproje arayın ve paylaşılan Proje şablonunu seçin.

    Paylaşılan Proje şablonunu aramayı ve seçmeyi gösteren ekran görüntüsü.

  4. Visual Studio SDK'ye başvuran her projeden, onun paylaşılan proje karşılığına bir başvuru ekleyin.

    Paylaşılan proje başvurusu ekleme seçimlerini gösteren ekran görüntüsü.

  5. Visual Studio SDK'ye atıfta bulunan her projeden tüm kaynak kodunu (içinde .cs ve .resx dosyaları da dahil olmak üzere) ilgili paylaşılan proje karşıtına taşıyın. source.extension.vsixmanifest dosyasını VSIX projesinde bırakın.

    Tüm kaynak dosyaları içeren paylaşılan bir projeyi gösteren ekran görüntüsü.

  6. Meta veri dosyalarını (örneğin, sürüm notları, lisans ve simgeler) ve VSCT dosyalarını paylaşılan bir dizine taşıyın. Ardından bunları VSIX projesine bağlı dosyalar olarak ekleyin. Paylaşılan dizinin paylaşılan projeden ayrı olduğunu unutmayın.

    Meta verileri ve V S C T dosyalarını bağlı dosyalar olarak eklemeye yönelik seçimleri gösteren ekran görüntüsü.

    • Meta veri dosyaları için Derleme Eylemi'niİçerikolarak ayarlayın. VSIX Include değerini True olarak ayarlayın.

      V S I X'te meta veri dosyalarının dahil olduğunu gösteren ekran görüntüsü.

    • VSCT dosyaları için, Derleme Eylemi'i VSCTCompileolarak ayarlayın. VSIX Ekle'yi False olarak ayarlayın.

      V S C T dosyasının seçili özelliklerini gösteren ekran görüntüsü.

      Visual Studio bu ayarın desteklenmediğinden şikayet ederse, projeyi kaldırıp ContentVSCTCompileolarak değiştirerek derleme eylemini el ile değiştirebilirsiniz:

      -<Content Include="..\SharedFiles\VSIXProject1Package.vsct">
      -  <Link>VSIXProject1Package.vsct</Link>
      -</Content>
      +<VSCTCompile Include="..\SharedFiles\VSIXProject1Package.vsct">
      +  <Link>VSIXProject1Package.vsct</Link>
      +  <ResourceName>Menus.ctmenu</ResourceName>
      +</VSCTCompile>
      
  7. Herhangi bir hata vermediğinizden emin olmak için projenizi oluşturun.

Projeniz artık Visual Studio 2022 desteği eklemeye hazır.

Visual Studio 2022 hedefi ekleme

Bu bölüm, Visual Studio uzantınızı paylaşılan projelerle faktörleme adımlarınıtamamladığınızı varsayar.

Aşağıdaki adımları kullanarak uzantınıza Visual Studio 2022 desteği ekleyin. Visual Studio 2019 kullanarak bunları tamamlayabilirsiniz.

  1. Çözümünüz için yeni bir VSIX projesi ekleyin. Bu proje Visual Studio 2022'ye hedefleyecektir. Şablonla birlikte gelen tüm kaynak kodlarını kaldırın, ancak source.extension.vsixmanifest dosyasını bekletin.

  2. Yeni VSIX projenizde, Visual Studio 2019'u hedefleyen VSIX'inizin referans verdiği paylaşılan projeye bir referans ekleyin.

    Bir paylaşılan proje ve iki V S I X projesi içeren bir çözümü gösteren ekran görüntüsü.

  3. Yeni VSIX projesinin düzgün derlendiğini doğrulayın. Derleyici hatalarını çözmek için özgün VSIX projenizle eşleşecek başvurular eklemeniz gerekebilir.

  4. Yönetilen Visual Studio uzantıları için, 16.x (veya önceki) sürümlerdeki paket başvurularınızı Visual Studio 2022 hedefli proje dosyanızdaki 17.x paket sürümlerine güncelleştirin. NuGet Paket Yöneticisi'ni kullanın veya proje dosyasını doğrudan düzenleyin:

    -<PackageReference Include="Microsoft.VisualStudio.SDK" Version="16.0.206" />
    +<PackageReference Include="Microsoft.VisualStudio.SDK" Version="17.0" />
    -<PackageReference Include="Microsoft.VSSDK.BuildTools" Version="16.10.32" />
    +<PackageReference Include="Microsoft.VSSDK.BuildTools" Version="17.0" />
    

    Önceki kodda gösterilen sürümler yalnızca gösterim amaçlıdır. Kodunuzda, NuGet web sitesinde bulunan sürümlerikullanın.

    Çoğu durumda paket kimlikleri değişmiştir. Visual Studio 2022'deki değişikliklerin listesi için paketi/derleme eşleme tablosunabakın.

    C++ dilinde yazılan uzantıların henüz derlenecek kullanılabilir bir SDK'sı yoktur.

  5. C++ projeleri için uzantılar AMD64 için derlenmelidir. Yönetilen uzantılar için, projenizi Herhangi bir CPU yerine x64hedeflemeye geçirmeyi göz önünde bulundurun. Bu değişiklik, Visual Studio 2022'de uzantınızın her zaman 64 bit işlemde yüklenmesini sağlar. Herhangi bir CPU de uygundur, ancak x64'e özgü yerel ikili dosyalara başvurursanız uyarılar üretebilir.

    Uzantınızın yerel modülde sahip olabileceği tüm bağımlılıkların x86 görüntüsünden AMD64 görüntüsüne güncelleştirilmiş olması gerekir.

  6. source.extension.vsixmanifest dosyanızı Visual Studio 2022'yi hedeflemeyi yansıtacak şekilde düzenleyin. Visual Studio 2022'yi göstermek için <InstallationTarget> etiketini ayarlayın. AMD64 yükünü göstermek için ProductArchitecture öğesini ayarlayın.

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

    Önemli

    Visual Studio 2019'da, bu dosyanın tasarımcısı yeni ProductArchitecture öğesini kullanıma sunmaz. Bu değişikliği yapmak için xml düzenleyicisi kullanmanız gerekir. XML düzenleyicisine erişmek için Çözüm Gezgini'ne gidin ve ile Aç komutunu seçin.

    ProductArchitecture öğesi kritik öneme sahiptir. Visual Studio 2022, uzantınız olmadan uzantınızı yüklemez.

    Öğe Değer Açıklama
    ProductArchitecture x86, amd64 Bu VSIX'in desteklediği platformlar. Büyük/küçük harfe duyarlı değil. Öğe başına bir platform ve InstallationTarget örneği başına bir öğe kullanın. 17.0'dan küçük ürün sürümleri için varsayılan değer x86 ve atlanabilir. 17.0 ve üzeri ürün sürümleri için bu öğe gereklidir ve varsayılan değer yoktur. Visual Studio 2022 için, bu öğe için tek geçerli içerik amd64.
  7. source.extension.vsixmanifest Visual Studio 2019'u (varsa) hedefleyenle eşleşecek şekilde gerekli diğer ayarlamaları yapın.

    Her biri Visual Studio'nun farklı bir sürümünü hedefleyen uzantınızın iki sürümünü yayımlıyorsanız, bildirimin Identity öğesindeki VSIX kimliğinin her uzantı için farklı olduğundan emin olun.

Bu noktada, Visual Studio 2022 hedefli bir VSIX uzantısına sahipsiniz. Visual Studio 2022 hedefli VSIX projenizi derlemeli ve görünen tüm derleme sonları üzerinden çalışmanız gerekir. Visual Studio 2022 hedefli VSIX projenizde derleme kesintileriniz yoksa tebrikler! Test için hazırsınız.

Önemli API değişikliklerini işleme

Hataya neden olan API değişiklikleri, Visual Studio'nun önceki sürümlerinde çalıştırıcı kod güncelleştirmeleri gerektirebilir. Kodunuzu güncelleştirme hakkında ipuçları için bkz. Visual Studio 2022'daki Uyumsuzluk Yaratan API Değişiklikleri.

Kodunuzu uyarlarken, koşullu derlemekullanmanızı öneririz. Kodunuz daha sonra Visual Studio 2022 desteği eklerken önceki Visual Studio sürümlerini desteklemeye devam edebilir.

Visual Studio 2022 hedefli uzantı derlemenizi aldığınızda, testinegeçin.

Koşullu derleme simgelerini kullanma

Visual Studio 2022 ve önceki sürümler için aynı kaynak kodunu, hatta aynı dosyayı kullanmak istiyorsanız, koşullu derleme kullanmanız gerekebilir. Ardından, hataya neden olan değişikliklere uyum sağlamak için kodunuzu çatallayabilirsiniz. Koşullu derleme C#, Visual Basic ve C++ dillerinin bir özelliğidir. Belirli yerlerdeki farklı API'leri kabul ederken çoğu kodu paylaşmak için kullanılabilir.

Ön işlemci yönergelerinin ve koşullu derleme simgelerinin kullanımı hakkında daha fazla bilgi için bkz. C# ön işlemci yönergeleri.

Önceki Visual Studio sürümlerini hedefleyen projeleriniz için koşullu derleme simgesi gerekir. Bu simge, daha sonra farklı API'leri kullanmak üzere kodu çatallamak için kullanılabilir. Koşullu derleme simgesini proje özellikleri sayfasında ayarlayabilirsiniz:

Koşullu derleme simgesi girme kutusunu gösteren ekran görüntüsü.

Tüm Yapılandırmalariçin derleme simgesini ayarladığınızdan emin olun. Varsayılan olarak, girdiğiniz simge yalnızca bir yapılandırma için geçerli olabilir.

C# teknikleri

Derleme simgenizi, aşağıdaki kodda gösterildiği gibi önişlemci yönergesi (#if) olarak kullanabilirsiniz. Ardından Visual Studio sürümleri arasında yıkıcı bir değişiklikle başa çıkmak için kodunuzu çatallayabilirsiniz.

    Guid myGuid = new Guid("{633FBA02-719B-40E7-96BF-0899767CD104}");
    uint myFlags = 0;
    IVsShell shell = await AsyncServiceProvider.GlobalProvider.GetServiceAsync<SVsShell, IVsShell>();
#if Dev16
    shell.LoadUILibrary(myGuid, myFlags, out uint ptrLib);
#else
    shell.LoadUILibrary(myGuid, myFlags, out IntPtr ptrLib);
#endif

Bazı durumlarda, türü adlandırmaktan kaçınmak ve var bölgelere ihtiyaç duymamak için #if kullanabilirsiniz. Yukarıdaki kod parçacığı şu şekilde de yazılabilir:

    Guid myGuid = new Guid("{633FBA02-719B-40E7-96BF-0899767CD104}");
    uint myFlags = 0;
    IVsShell shell = await AsyncServiceProvider.GlobalProvider.GetServiceAsync<SVsShell, IVsShell>();
    shell.LoadUILibrary(myGuid, myFlags, out var ptrLib);

#if söz dizimini kullanırken, dil hizmeti bağlamı için açılan listeyi kullanarak söz dizimi vurgusunu nasıl değiştirebileceğinize dikkat edin. Diğer açılan liste, dil hizmetinin bu uzantı için bir hedef Visual Studio sürümüne odaklanırken diğer sürümleri göz ardı etmesine yardımcı olur.

Paylaşılan projede koşullu derlemeyi gösteren ekran görüntüsü.

XAML paylaşım teknikleri

XAML'nin, ön işlemci sembollerine göre içeriğin özelleştirilmesine izin verecek ön işlemcisi yoktur. İçeriği Visual Studio 2022 ile önceki sürümler arasında farklılık gösteren iki XAML sayfasını kopyalayıp korumanız gerekebilir.

Bazı durumlarda, Visual Studio 2022 ve önceki sürümlerde ayrı derlemelerde bulunan bir türe başvuru yine de tek bir XAML dosyasında gösterilebilir. Derlemeye referans veren ad alanını kaldır.

-xmlns:vsui="clr-namespace:Microsoft.VisualStudio.PlatformUI;assembly=Microsoft.VisualStudio.Shell.14.0"
-Value="{DynamicResource {x:Static vsui:TreeViewColors.SelectedItemActiveBrushKey}}"
+Value="{DynamicResource TreeViewColors.SelectedItemActiveBrushKey}"

Uzantınızı test edin

Visual Studio 2022'yi hedefleyen bir uzantıyı test etmek için Visual Studio 2022'nin yüklü olması gerekir. Visual Studio'nun önceki sürümlerinde 64 bit uzantılar çalıştıramazsınız.

İster Visual Studio 2022'yi ister önceki bir sürümü hedeflesin uzantılarınızı derlemek ve test etmek için Visual Studio 2022'yi kullanabilirsiniz. Visual Studio 2022'den bir VSIX projesi açtığınızda, Visual Studio'nun deneysel bir örneği açılır.

Uzantının desteklemesini istediğiniz her Visual Studio sürümüyle test yapmanızı kesinlikle öneririz.

Uzantınızı yayımlama

Uzantınıza bir Visual Studio 2022 hedefi eklediniz ve bunu test ettiniz. Artık dünyanın hayran kalması için uzantıyı yayımlamaya hazırsınız.

Visual Studio Pazaryeri

Uzantınızı visual studio market yayımlamak, yeni kullanıcıların uzantınızı bulmasını ve yüklemesini sağlamak için harika bir yoldur. Uzantınız Visual Studio 2022'yi özel olarak hedeflese de eski Visual Studio sürümlerini de hedeflese de Market sizi destekler.

Gelecekte Market, birden çok VSIX'i tek bir Market listesine yüklemenize olanak sağlayacaktır. Daha sonra önceki bir Visual Studio sürümü için olan VSIX'inizi ve Visual Studio 2022'ye hedeflenen VSIX'inizi karşıya yükleyebilirsiniz. Kullanıcılarınız, Visual Studio uzantı yöneticisini kullanırken yükledikleri Visual Studio sürümü için doğru VSIX'i otomatik olarak alır.

Özel yükleyici

Uzantınızı yüklemek için bir MSI veya EXE dosyası oluşturur ve uzantınızın bir kısmını yüklemek için vsixinstaller.exe oluşturursanız, Visual Studio 2022'deki VSIX yükleyicisinin güncellenmiş olduğunu bilin. Geliştiricilerin, Visual Studio'nun bu sürümüne uzantı yüklemek için Visual Studio 2022 ile birlikte gelen VSIX yükleyici sürümünü kullanması gerekir.

Visual Studio 2022'deki VSIX yükleyicisi, aynı makineye Visual Studio 2022 ile var olan Visual Studio'nun önceki sürümlerini hedefleyen geçerli uzantıları da yükler.

Ağ paylaşımı

Uzantınızı LAN üzerinden veya başka bir yolla paylaşabilirsiniz. Visual Studio 2022 ve önceki sürümleri hedeflerseniz, birden çok VSIX'inizi ayrı ayrı paylaşmanız gerekir. Kullanıcılarınızın yükledikleri Visual Studio sürümüne göre hangi VSIX'i yükleyeceklerini bilmelerine yardımcı olacak dosya adları verin (veya benzersiz klasörlere yerleştirin).

Bağımlılık

VSIX'iniz diğer VSIX'leri <dependency> öğesi aracılığıyla bağımlılık olarak belirtiyorsa, başvurulan her VSIX'in VSIX'inizle aynı hedeflere ve ürün mimarilerine yüklenmesi gerekir. Bağımlı bir VSIX, Visual Studio'nun hedeflenen yüklemesini desteklemiyorsa VSIX'iniz başarısız olur.

Bağımlı VSIX'in sizinkinden daha fazla hedefi ve mimariyi desteklemesi sorun değil, sadece daha azını desteklememelidir. Bu kısıtlama, bağımlılıkları olan bir VSIX'in dağıtım ve dağıtım yaklaşımının bağımlılarını yansıtması gerektiği anlamına gelir.

Sorular ve Yanıtlar

Q: Uzantım yalnızca veri (örneğin, şablonlar) sağladığından birlikte çalışabilirlik değişiklikleri gerektirmez. Visual Studio 2022'nin de bulunduğu tek bir uzantı oluşturabilir miyim?

A: Evet! Bu konuda bilgi için bkz. kod çalıştırmadan Uzantıları.

Q: NuGet bağımlılığı, önceki birlikte çalışabilirlik derlemelerini getiriyor ve sınıfların çakışmasına neden oluyor. Ne yapmalıyım?

A: Yinelenen derlemeleri önlemek için .csproj dosyanıza aşağıdaki satırı ekleyin:

    <PackageReference Include="<Name of offending assembly>" ExcludeAssets="compile" PrivateAssets="all" />

Bu kod, paket başvurularının derlemenin eski sürümünü diğer bağımlılıklardan içeri aktarmasını engeller.

Q: Kaynak dosyalarımı paylaşılan bir projeye değiştirdikten sonra komutlarım ve kısayol tuşlarım Visual Studio'da çalışmayı durdurdu. Ne yapmalıyım?

A: Görüntü İyileştirici örneğinin 2.4. Adım , VSCT dosyalarının VSCT dosyanızda derlenecek şekilde bağlantılı öğeler olarak nasıl ekleneceğini gösterir.

Adım adım bir örneği izleyin, ImageOptimizer, projeye bağlantılar ve her adım için kod değişiklikleri ile birlikte.