Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu kılavuz, örnek olay incelemesi olarak Görüntü İyileştirici uzantısını kullanarak Visual Studio 2019 desteğini korurken Visual Studio 2022 desteği eklemek için gereken tüm adımları gösterir.
Bu, her adıma yönelik git işlem bağlantılarına sahip kapsamlı bir kılavuz olarak tasarlanmıştır, ancak burada nihai hale getirilmiş pull request'i görebilirsiniz: https://github.com/madskristensen/ImageOptimizer/pull/46.
Ayrıca bu kılavuzun sonunda ek örnekler.
1. Adım - Projeyi modernleştirme
Modernleştirme bölümü kapsamındaki proje'e bakın.
İlk olarak VSIX ve birim testi projesini projelerin özellikler sayfasının altında .NET 4.7.2'ye yükselteceğiz:
Görüntü İyileştirici bazı eski özel 14.* ve 15.* paketlerine başvuruda bulundu, bunun yerine tüm gerekli başvurularımızı bir araya getirerek Microsoft.VisualStudio.Sdk NuGet paketini yükleyeceğiz.
- <ItemGroup>
- <PackageReference Include="Madskristensen.VisualStudio.SDK">
- <Version>14.0.0-beta4</Version>
- </PackageReference>
- <PackageReference Include="Microsoft.VSSDK.BuildTools">
- <Version>15.8.3247</Version>
- <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
- <PrivateAssets>all</PrivateAssets>
- </PackageReference>
- </ItemGroup>
+ <ItemGroup>
+ <PackageReference Include="Microsoft.VisualStudio.SDK">
+ <Version>16.9.31025.194</Version>
+ </PackageReference>
+ </ItemGroup>
Projeyi oluşturma başarılı olur ve birkaç iş parçacığı oluşturma uyarısı alırsınız.
ctrl ve .'e tıkladıktan sonra eksik iş parçacığı değiştirme satırlarını eklemek için intellisense'i kullanarak bu uyarıları düzeltiriz.
2. Adım - Kaynak kodunu paylaşılan bir projede yeniden düzenleme
Bkz. Paylaşılan projeler.
Visual Studio 2022'yi desteklemek için, Visual Studio 2019 ile Visual Studio 2022 VSIX projeleri arasında paylaşılacak olan uzantının kaynak kodunu içerecek yeni bir paylaşılan proje eklenmesi gerekir.
Çözümünüze yeni bir paylaşılan proje ekleme
eklemePaylaşılan projeyi VSIX projenize ekleyin.
Kaynak kod dosyalarınızı (cs, xaml, resx) dışında, aşağıdakiler için yeni paylaşılan proje'a taşıyın:
source.extension.vsixmanifest- Uzantı meta veri dosyaları (simgeler, lisanslar, sürüm notları vb.)
- VSCT dosyaları
- Bağlı dosyalar
- VSIX'e eklenmesi gereken dış araçlar veya kitaplıklar
Şimdi tüm meta verileri, VSCT dosyalarını, bağlı dosyaları ve dış araçları/kitaplıkları paylaşılan bir konuma taşıyın ve bunları VSIX projesine bağlantılı öğeler olarak geri ekleyin. kaldırma
source.extension.vsixmanifest.git commit 73ba920 - Dosyaları taşıma
git commit d5e36b2 - Dış araçlar/kitaplıklar ekleme
- Bu proje için uzantı simgesini, VSCT dosyasını ve dış araçları
ImageOptimizer\Resourcesyeni klasörümüze taşımamız gerekir. Bunları paylaşılan klasöre kopyalayın ve VSIX projesinden kaldırın. - Bunları bağlantılı öğeler olarak geri ekledik ve öğeler zaten bağlantılı öğelerse oldukları gibi kalabilir (örneğin lisans).
- Eklenen bağlantılı dosyalarda Derleme Eylemi'nin ve diğer özelliklerin doğru ayarlandığını doğrulamak için her birini seçin ve özellikler araç penceresini denetleyin. Projemiz için aşağıdakileri ayarlamamız gerekiyordu:
icon.pngDerleme EyleminiContentolarak ayarlayın ve VSIX'e Ekle seçeneğinitrueolarak işaretleyinImageOptimizer.vsctDerleme EyleminiVSCTComplileolarak ve VSIX'e Eklemeyifalseolarak ayarlayınResources\Toolsaltındaki dosyaların tüm Derleme EyleminiContentolarak ayarlayın ve VSIX'e Ekle seçeneğinitrueolarak işaretleyin
bağlı dosyalar eklemeAyrıca,
ImageOptimizer.csImageOptimizer.vsctbağımlılığıdır. Bunun için bu bağımlılığı csproj dosyasına el ile eklemeliyiz:- <Content Include="..\SharedFiles\ImageOptimizer.vsct"> - <Link>ImageOptimizer.vsct</Link> - </Content> - <Compile Include="..\SharedFiles\ImageOptimizer.cs"> - <Link>ImageOptimizer.cs</Link> - </Compile> + <VSCTCompile Include="..\SharedFiles\ImageOptimizer.vsct"> + <ResourceName>Menus.ctmenu</ResourceName> + <Generator>VsctGenerator</Generator> + <LastGenOutput>..\SharedFiles\ImageOptimizer.cs</LastGenOutput> + </VSCTCompile> + <Compile Include="..\SharedFiles\ImageOptimizer.cs"> + <AutoGen>True</AutoGen> + <DesignTime>True</DesignTime> + <DependentUpon>..\SharedFiles\ImageOptimizer.vsct</DependentUpon> + </Compile>Özellikler araç penceresi belirli bir Derleme Eylemini ayarlamanızı engelliyorsa, yukarıda olduğu gibi csproj'da el ile değişiklik yapabilir ve Derleme Eylemi'ni gerektiği gibi ayarlayabilirsiniz.
- Bu proje için uzantı simgesini, VSCT dosyasını ve dış araçları
Değişikliklerinizi doğrulamak ve tüm hataları/sorunları düzeltmek için projenizi oluşturun. Yaygın sorunlar için Sık Sorulan Sorular bölümüne bakın.
3. Adım - Visual Studio 2022 VSIX projesi ekleme
Bkz. , Visual Studio 2022 hedefiekle.
Çözümünüz için yeni bir VSIX projesi ekleyin.
source.extension.vsixmanifest.dışında yeni projedeki ek kaynak kodlarını kaldırma
oluşturmaPaylaşılan projenize bir referans ekleyin.
Visual Studio 2019 VSIX projenizden bağlantılı dosyaları ekleyin ve "Derleme Eylemi" ve "VSIX'e Ekle" özelliklerinin eşleşip eşleşmediğini doğrulayın. Ayrıca
source.extension.vsixmanifestdosyanızın üzerine de kopyalayın, daha sonra Visual Studio 2022'yi destekleyecek şekilde değiştireceğiz.
bağlı dosyalar ekleyinBir derleme denemesi,
System.Windows.Formsreferansının eksik olduğunu gösteriyor. Visual Studio 2022 projemize eklemeniz ve yeniden derlemeniz yeterlidir.+ <Reference Include="System.Windows.Forms" />Microsoft.VisualStudio.SDKveMicrosoft.VSSDK.BuildToolspaketi başvurularını Visual Studio 2022 sürümlerine güncelleyin.Not
Bunlar, bu kılavuz oluşturulduğunda kullanılabilen en son sürümlerdir. En son sürümleri edinmeniz önerilir.
-<PackageReference Include="Microsoft.VisualStudio.SDK" Version="16.0.206" /> +<PackageReference Include="Microsoft.VisualStudio.SDK" Version="17.0.0-preview-1-31216-1036" /> -<PackageReference Include="Microsoft.VSSDK.BuildTools" Version="16.10.32" /> +<PackageReference Include="Microsoft.VSSDK.BuildTools" Version="17.0.63-Visual Studio 2022-g3f11f5ab" />source.extension.vsixmanifestdosyanızı Visual Studio 2022'yi hedeflemeyi yansıtacak şekilde düzenleyin.<InstallationTarget>etiketini Visual Studio 2022'yi yansıtacak şekilde ayarlayın ve bir amd64 yükü belirtin:<InstallationTarget Id="Microsoft.VisualStudio.Community" Version="[17.0,18.0)"> <ProductArchitecture>amd64</ProductArchitecture> </InstallationTarget>Önkoşulu yalnızca Visual Studio 2022 ve üzerini içerecek şekilde değiştirin:
- <Prerequisite Id="Microsoft.VisualStudio.Component.CoreEditor" Version="[15.0,)" DisplayName="Visual Studio core editor" /> + <Prerequisite Id="Microsoft.VisualStudio.Component.CoreEditor" Version="[17.0,)" DisplayName="Visual Studio core editor" />
Ve işimiz bitti!
Bununla, derleme artık hem Visual Studio 2019 hem de Visual Studio 2022 VSIX'leri üretmektedir.
Diğer örnekler
-
ProPower Araçları
- PeekF1
- Seçili sınıf/nesne hakkında yardım bilgileriyle bir web tarayıcısına göz atma olanağı sağlar.
- Karma Sekmeleri Düzeltme
- Belgelerinizi tarar ve sekmeleri boşluklarla değiştirir veya tam tersi
- PeekF1
Sonraki adımlar
Uzantınızı güncellemeye hazırlanın, bunun için bu başlangıç-bitiş kılavuzunu okuyun.