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.
Note
Ez a cikk a .NET-keretrendszer COM-együttműködésére vonatkozó útmutatást ismerteti, amely a régi Assembly Registration Toolt (Regasm.exe), a globális szerelvény-gyűjtőgyorsítótárat és a beállításjegyzék-alapú COM-regisztrációt használja. Modern .NET-hez használja a COM-forráskód-generálást vagy a ComWrappers API-t. További információ: COM interop.
Az szerelvényregisztrációs eszköz (Regasm.exe) nevű parancssori eszközt futtatva regisztrálhat vagy törölhet egy .NET-keretrendszer-szerelvényt a COM-val való használatra. Regasm.exe adatokat ad hozzá az osztályról a rendszerregisztrációs adatbázishoz, hogy a COM-ügyfelek transzparens módon használhassák a .NET-keretrendszer osztályt. Az RegistrationServices osztály egyenértékű funkciókat biztosít.
A .NET-keretrendszer esetében egy felügyelt összetevőt regisztrálni kell a Windows beállításjegyzékben, mielőtt egy COM-ügyfélről aktiválható lenne. Az alábbi táblázat azokat a kulcsokat mutatja be, amelyeket Regasm.exe általában hozzáad a Windows beállításjegyzékéhez. (A 0000000 a tényleges GUID értéket jelzi.)
| GUID | Leírás | Regisztrációs kulcs |
|---|---|---|
| CLSID | Osztályazonosító | HKEY_CLASSES_ROOT\CLSID\{000…000} |
| IID | Interfész azonosítója | HKEY_CLASSES_ROOT\Interface\{000…000} |
| LIBID | Kódtár azonosítója | HKEY_CLASSES_ROOT\TypeLib\{000…000} |
| ProgID | Programozott azonosító | HKEY_CLASSES_ROOT\000…000 |
A HKCR\CLSID\{0000...0000} kulcs alatt az alapértelmezett érték az osztály ProgID-jára van állítva, és két új, megnevezett érték, az OsztályNeve és a Szerelvény hozzá vannak adva. A futtatókörnyezet beolvassa az Assembly értékét a beállításjegyzékből, és átadja az Assembly feloldójának a futtatókörnyezetben. Az összeállítás-feloldó megkísérli megkeresni az összeállítást az összeállítás információi, például a név és a verziószám alapján. Ahhoz, hogy a szerelvény-feloldó egy szerelvényt találjon, a szerelvénynek az alábbi helyek egyikén kell lennie:
A globális szerelvény-gyorsítótárnak (erős nevű szerelvénynek kell lennie).
Az alkalmazáskönyvtárban. Az alkalmazás elérési útján betöltött összeállítások csak az adott alkalmazásból érhetők el.
A /codebase beállítással megadott fájlútvonal mentén Regasm.exe.
Regasm.exe az InProcServer32 kulcsot is létrehozza a HKCR\CLSID\{0000…0000} kulcs alatt. A kulcs alapértelmezett értéke annak a DLL-nek a nevére van állítva, amely inicializálja a közös nyelvi futtatókörnyezetet (Mscoree.dll).
Beállításjegyzék-bejegyzések vizsgálata
A COM interop in .NET Framework standard osztálygyári implementációt biztosít bármely .NET Keretrendszer-osztály példányának létrehozásához. Az ügyfelek meghívhatják DllGetClassObject a felügyelt DLL-t egy osztály-előállító lekérésére és objektumok létrehozására, ugyanúgy, mint bármely más COM-összetevő esetében.
InprocServer32 Az alkulcs esetében egy hagyományos COM-típusú kódtár helyett megjelenik egy Mscoree.dll mutató hivatkozás, amely jelzi, hogy a közös nyelvi futtatókörnyezet létrehozza a felügyelt objektumot.