VSPackage’lardaki Kaynaklar
Yerelleştirilmiş kaynakları yerel uydu UI DLL'lerine, yönetilen uydu DLL'lerine veya yönetilen bir VSPackage'a ekleyebilirsiniz.
Bazı kaynaklar VSPackage'lara eklenemez. Aşağıdaki yönetilen türler eklenebilir:
Dizeler
Paket yükleme anahtarları (aynı zamanda dizelerdir)
Araç penceresi simgeleri
Derlenmiş Komut Tablosu Çıktısı (CTO) dosyaları
CTO bit eşlemleri
Komut Satırı Yardımı
İletişim kutusu verileri hakkında
Yönetilen paketteki kaynaklar kaynak kimliğine göre seçilir. CTMENU olarak adlandırılması gereken CTO dosyası özel durumdur. CTO dosyası kaynak tablosunda olarak byte[]
görünmelidir. Diğer tüm kaynak öğeleri türe göre tanımlanır.
Visual Studio'ya PackageRegistrationAttribute yönetilen kaynakların kullanılabilir olduğunu belirtmek için özniteliğini kullanabilirsiniz.
Bu şekilde ayarlamak PackageRegistrationAttribute , Visual Studio'yu kullanarak LoadPackageStringkaynak ararken yönetilmeyen uydu DLL'lerini yoksayması gerektiğini gösterir. Visual Studio aynı kaynak kimliğine sahip iki veya daha fazla kaynakla karşılaşırsa, bulduğu ilk kaynağı kullanır.
Örnek
Aşağıdaki örnek, bir araç penceresi simgesinin yönetilen gösterimidir.
<data name="1001"
type="System.Resources.ResXFileRef,System.Windows.Forms">
<value>
MyToolWinIcon.bmp;
System.Drawing.Bitmap,
System.Drawing,
Version=1.0.0.0,
Culture=neutral,
PublicKeyToken=b03f5f7f11d50a3a
</value>
</data>
Aşağıdaki örnekte, CTMENU olarak adlandırılması gereken CTO bayt dizisinin nasıl eklendiği gösterilmektedir.
<data name="CTMENU"
type="System.Resources.ResXFileRef,System.Windows.Forms">
<value>
MyPackage.cto;
System.Byte[],
mscorlib,
Version=1.0.0.0,
Culture=neutral,
PublicKeyToken=b03f5f7f11d50a3a
</value>
</data>
Uygulama Notları
Visual Studio mümkün olduğunca VSPackage yüklemesini geciktirmektedir. VsPackage'a bir CTO dosyası eklemenin bir sonucu, Visual Studio'nun kurulum sırasında bu tür tüm VSPackage'ları belleğe yüklemesi gerektiğidir. Bu, birleştirilmiş bir komut tablosu oluştururken ortaya çıkar. VsPackage'da kod çalıştırmadan meta veriler incelenerek bir VSPackage'dan kaynaklar ayıklanabilir. VSPackage şu anda başlatılmadığından performans kaybı en düşük düzeydedir.
Visual Studio, Kurulum'dan sonra bir VSPackage'dan kaynak istediğinde, bu paket büyük olasılıkla zaten yüklenmiş ve başlatılmış olabilir, bu nedenle performans kaybı en düşük düzeydedir.