Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Du kan bädda in lokaliserade resurser i nativa satellitgränssnitts-DLL:er, hanterade satellit-DLL:er eller i en hanterad VSPackage.
Vissa resurser kan inte bäddas in i VSPackages. Följande hanterade datatyper kan bäddas in:
Strängar
Paketladdningsnycklar (som också är strängar)
Ikoner för verktygsfönster
Kompilerade kommandotabellutdata (CTO) filer
CTO-bitmappar
Hjälp om kommandorad
Om dialogrutedata
Resurser i ett hanterat paket väljs av resurs-ID. Ett undantag är CTO-filen, som måste ha namnet CTMENU. CTO-filen måste visas i resurstabellen som en byte[]. Alla andra resursobjekt identifieras efter typ.
Du kan använda attributet PackageRegistrationAttribute för att ange för Visual Studio att hanterade resurser är tillgängliga.
Inställningen PackageRegistrationAttribute på det här sättet anger att Visual Studio bör ignorera ohanterade satellit-DLL:er när det söker efter resurser, till exempel med hjälp av LoadPackageString. Om Visual Studio stöter på två eller flera resurser som har samma resurs-ID använder den den första resursen som hittas.
Example
Följande exempel är en hanterad representation av en verktygsfönsterikon.
<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>
I följande exempel visas hur du bäddar in CTO-bytematrisen, som måste ha namnet CTMENU.
<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>
Implementeringsanteckningar
Visual Studio fördröjer inläsningen av VSPackages när det är möjligt. En konsekvens av att bädda in en CTO-fil i en VSPackage är att Visual Studio måste läsa in alla sådana VSPackages i minnet under installationen, vilket är när en sammanslagen kommandotabell skapas. Resurser kan extraheras från en VSPackage genom att undersöka metadata utan att köra kod i VSPackage. VSPackage initieras inte just nu, så prestandaförlusten är minimal.
När Visual Studio begär en resurs från en VSPackage efter installationen kommer paketet troligen redan att läsas in och initieras, så prestandaförlusten är minimal.