Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A .NET-keretrendszer-alapú összetevők regisztráció nélküli aktiválása csak valamivel bonyolultabb, mint a COM-összetevők esetében. A beállításhoz két jegyzék szükséges:
A COM-alkalmazásoknak Win32-stílusú alkalmazásjegyzékkel kell rendelkezniük a felügyelt összetevő azonosításához.
A .NET-keretrendszer-alapú összetevőknek rendelkezniük kell egy összetevőjegyzékkel a futásidőben szükséges aktiválási információkhoz.
Ez a témakör azt ismerteti, hogyan társíthat alkalmazásjegyzéket egy alkalmazáshoz; összetevőjegyzék társítása egy összetevővel; és beágyazhat egy összetevőjegyzéket egy szerelvénybe.
Alkalmazásjegyzék létrehozása
XML-szerkesztő használatával hozza létre (vagy módosítsa) a COM-alkalmazás tulajdonában lévő alkalmazásjegyzéket, amely egy vagy több felügyelt összetevővel működik együtt.
Szúrja be a következő szabványos fejlécet a fájl elejére:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> </assembly>A jegyzékelemekről és attribútumaikról további információt az alkalmazásjegyzékekben talál.
Azonosítsa a jegyzék tulajdonosát. Az alábbi példában
myComAppaz 1. verzió a jegyzékfájl tulajdonosa.<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <assemblyIdentity type="win32" name="myOrganization.myDivision.myComApp" version="1.0.0.0" processorArchitecture="msil" /> </assembly>A függő szerelvények azonosítása. Az alábbi példában
myComAppmyManagedComp-től függ.<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <assemblyIdentity type="win32" name="myOrganization.myDivision.myComApp" version="1.0.0.0" processorArchitecture="x86" publicKeyToken="8275b28176rcbbef" /> <dependency> <dependentAssembly> <assemblyIdentity type="win32" name="myOrganization.myDivision.myManagedComp" version="6.0.0.0" processorArchitecture="X86" publicKeyToken="8275b28176rcbbef" /> </dependentAssembly> </dependency> </assembly>Mentse és nevezze el a jegyzékfájlt. Az alkalmazásjegyzék neve a végrehajtható szerelvény neve, amelyet a .manifest kiterjesztés követ. A myComApp.exe alkalmazásjegyzékfájljának neve például myComApp.exe.manifest.
Az alkalmazásjegyzéket ugyanabban a könyvtárban telepítheti, mint a COM-alkalmazás. Másik lehetőségként erőforrásként is hozzáadhatja az alkalmazás .exe fájlhoz. További információért lásd: Párhuzamos összetevők.
Összetevőjegyzék létrehozása
XML-szerkesztő használatával hozzon létre egy összetevőjegyzéket a felügyelt szerelvény leírásához.
Szúrja be a következő szabványos fejlécet a fájl elejére:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> </assembly>Azonosítsa a fájl tulajdonosát. Az alkalmazás manifest fájl
<dependentAssembly>elemének meg kell egyeznie az összetevő manifest fájljában szereplő<assemblyIdentity>elemmel. Az alábbi példábanmyManagedCompaz 1.2.3.4-es verzió a jegyzékfájl tulajdonosa.<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <assemblyIdentity name="myOrganization.myDivision.myManagedComp" version="1.2.3.4" publicKeyToken="8275b28176rcbbef" processorArchitecture="msil" /> </assembly>Azonosítsa az egyes osztályokat a szerelvényben.
<clrClass>Az elem használatával egyedileg azonosíthatja a felügyelt szerelvény minden osztályát. Az elem, amely az<assembly>elem aleleme, az alábbi táblázatban leírt attribútumokkal rendelkezik.Attribute Description Kötelező clsidAz aktiválandó osztályt meghatározó azonosító. Igen descriptionEgy sztring, amely tájékoztatja a felhasználót az összetevőről. Az alapértelmezett érték egy üres karakterlánc. Nem nameA felügyelt osztályt képviselő karakterlánc. Igen progidA késői kötésű aktiváláshoz használandó azonosító. Nem threadingModelA COM szálmodell. A "Mindkettő" az alapértelmezett érték. Nem runtimeVersionA használni kívánt közös nyelvi futtatókörnyezet (CLR) verzióját adja meg. Ha nem adja meg ezt az attribútumot, és a CLR még nincs betöltve, az összetevő a legújabb telepített CLR-vel van betöltve a CLR 4-es verziója előtt. Ha 1.0.3705-ös, 1.1.4322-es vagy 2.0.50727-es verziót ad meg, a verzió automatikusan a legújabb telepített CLR-verzióra kerül a CLR 4-es verziója előtt (általában 2.0.50727-es verzió). Ha a CLR egy másik verziója már be van töltve, és a megadott verzió egymás mellett tölthető be a folyamatban, a megadott verzió betöltődik; ellenkező esetben a rendszer a betöltött CLR-t használja. Ez terhelési hibát okozhat. Nem tlbidAnnak a típustárnak az azonosítója, amely az osztály típusadatait tartalmazza. Nem Minden attribútumcímke megkülönbözteti a kis- és nagybetűket. A CLSID-ket, progID-ket, szálmodelleket és futtatókörnyezeti verziót az OLE/COM ObjectViewerrel (Oleview.exe) a szerelvény exportált típustárának megtekintésével szerezheti be.
Az alábbi összetevő-jegyzék két osztályt azonosít,
testClass1éstestClass2.<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <assemblyIdentity name="myOrganization.myDivision.myManagedComp" version="1.2.3.4" publicKeyToken="8275b28176rcbbef" /> <clrClass clsid="{65722BE6-3449-4628-ABD3-74B6864F9739}" progid="myManagedComp.testClass1" threadingModel="Both" name="myManagedComp.testClass1" runtimeVersion="v1.0.3705"> </clrClass> <clrClass clsid="{367221D6-3559-3328-ABD3-45B6825F9732}" progid="myManagedComp.testClass2" threadingModel="Both" name="myManagedComp.testClass2" runtimeVersion="v1.0.3705"> </clrClass> <file name="MyManagedComp.dll"> </file> </assembly>Mentse és nevezze el a jegyzékfájlt. Az összetevő-jegyzék neve az assembly könyvtár neve, amelyet a .manifest kiterjesztés követ. A myManagedComp.dll például megegyezik a myManagedComp.manifest fájllal.
Az összetevő jegyzéket erőforrásként kell beágyaznia az összeállításba.
Összetevőjegyzék beágyazása felügyelt összeállításba
Hozzon létre egy erőforrásszkriptet, amely a következő utasítást tartalmazza:
1 RT_MANIFEST myManagedComp.manifestEbben az utasításban
myManagedComp.manifesta beágyazott összetevőjegyzék neve. Ebben a példában a szkriptfájl neve .myresource.rcFordítsa le a szkriptet a Microsoft Windows Resource Compiler (Rc.exe) használatával. A parancssorba írja be a következő parancsot:
rc myresource.rcRc.exe hozza létre az erőforrásfájlt
myresource.res.Fordítsa le újra a szerelvény forrásfájlját, és adja meg az erőforrásfájlt a /win32res beállítással:
/win32res:myresource.resmyresource.resIsmét a beágyazott erőforrásokat tartalmazó erőforrásfájl neve.