Bu gönderi otomatik olarak çevrildi. Orijinal versiyon için buraya tıklayın.
VSSDK uzantı projeleri için SDK tarzı desteği artık Visual Studio 18.5’te resmi olarak kullanılabilir — klasik VSIX uzantı projeleri eski MPF tarzı .csproj biçiminden çıkabilir.
Proje Dosyası Nasıl Değişiyor
En belirgin değişiklik proje dosyasının ne kadar küçüleceği. Tipik bir VSSDK uzantısı artık şöyle görünüyor:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net472</TargetFramework>
<VSSDKBuildToolsAutoSetup>true</VSSDKBuildToolsAutoSetup>
<VsixDeployOnDebug>true</VsixDeployOnDebug>
<GeneratePkgDefFile>true</GeneratePkgDefFile>
</PropertyGroup>
<ItemGroup><ProjectCapability Include="CreateVsixContainer" /></ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.VisualStudio.SDK" Version="17.14.40265" ExcludeAssets="runtime" />
<PackageReference Include="Microsoft.VSSDK.BuildTools" Version="18.5.38461" />
</ItemGroup>
</Project>
VSSDKBuildToolsAutoSetup=true akıllı varsayılanları uygular: CreateVsixContainer=true ve eski DeployExtension=false. Bu tek özellik, eskiden açıkça belirtmek zorunda olduğunuz birçok şeyin yerini alıyor.
Derleme Süresi İyileştirmesi
Fast Up-To-Date Check ve artımlı derleme desteği etkinleştiriliyor. Küçük değişiklikler içeren büyük çözümler için bu %75’e kadar derleme süresi azalması sağlıyor — büyük bir ana çözüm içinde bir uzantı üzerinde yineleme yapıyorsanız önemli.
Yeni ve Mevcut Projeler
18.5’te oluşturulan yeni uzantı projeleri otomatik olarak SDK tarzını kullanıyor. Mevcut MPF tarzı uzantılar çalışmaya devam ediyor — geçiş isteğe bağlı. Geçiş için önemli bir not: uzantı XAML kullanıyorsa <UseWpf>true</UseWpf> ekleyin. Uzantıyı .sln veya .slnx dosyasında dağıtılabilir olarak da işaretlemeniz gerekiyor.
Vsixmanifest tasarımcısı varsayılan olarak XML düzenleyicisiyle değiştiriliyor — eski tasarımcı gerekiyorsa sağ tıklayın → Birlikte Aç.
Ajanla Geçiş Yolu
vs-agent-plugins içindeki Modernize ajanı geçişi otomatikleştirebilir. Birkaç gerçek dünya uzantısı bu şekilde zaten dönüştürüldü: Mads Kristensen’in Smart Screen, Command Explorer, Postfix Templates ve Whitespace Visualizer’ı dahil.
Dikkat Edilecek Nokta
VisualStudio.Extensibility (daha yeni genişletilebilirlik çerçevesi) SDK tarzını zaten destekliyordu. Bu güncelleme klasik VSSDK yoluyla eşitlik sağlıyor. Tek gereksinim: Visual Studio uzantı geliştirme iş yükü.
Tüm ayrıntılar için resmi gönderiye bakın.
