Szerelvények a .NET-ben
A szerelvények alkotják az üzembe helyezés, a verziókövetés, az újbóli használat, az aktiválás hatókörének és a biztonsági engedélyek alapvető egységeit. NET-alapú alkalmazások. A szerelvény olyan típusok és erőforrások gyűjteménye, amelyek az együttműködésre és a logikai funkcióegységek kialakítására lettek létrehozva. A szerelvények végrehajtható (.exe) vagy dinamikus csatolású (.dll) fájlok formájában jelennek meg, és a .NET-alkalmazások építőelemei. A közös nyelvi futtatókörnyezet számára biztosítják azokat az információkat, amelyekre szüksége van ahhoz, hogy tisztában legyen a típusmegvalósításokkal.
A .NET-ben és a .NET-keretrendszer egy vagy több forráskódfájlból hozhat létre szerelvényt. A .NET-keretrendszer szerelvények egy vagy több modult tartalmazhatnak. Ez lehetővé teszi, hogy nagyobb projekteket tervezhessenek, így több fejlesztő is dolgozhat külön forráskódfájlokon vagy modulokon, amelyek egyetlen szerelvény létrehozásához vannak kombinálva. A modulokkal kapcsolatos további információkért lásd: Többfájlos szerelvény létrehozása.
A szerelvények a következő tulajdonságokkal rendelkeznek:
A szerelvények .exe vagy.dllfájlokként vannak implementálva .
A .NET-keretrendszer megcélzott kódtárak esetében a szerelvényeket a globális szerelvény-gyorsítótárba (GAC) helyezve oszthatja meg az alkalmazások között. Mielőtt belefoglalhatja őket a GAC-be, erős névvel kell rendelkeznie. További információkért tekintse meg az erős elnevezett szerelvényeket.
A szerelvények csak akkor töltődnek be a memóriába, ha szükség van rájuk. Ha nem használják őket, nem töltődnek be. Ez azt jelenti, hogy a szerelvények hatékonyan kezelhetik a nagyobb projektek erőforrásait.
A szerelvényekkel kapcsolatos információkat programozott módon, tükröződés használatával szerezheti be. További információ: Tükröződés (C#) vagy Tükröződés (Visual Basic).
A szerelvényt a .NET-en és a MetadataLoadContext .NET-keretrendszer osztály használatával töltheti be, hogy megvizsgálja. MetadataLoadContext A a metódusokat cseréli Assembly.ReflectionOnlyLoad le.
Szerelvények a közös nyelvi futtatókörnyezetben
A szerelvények biztosítják a közös nyelvi futtatókörnyezetnek azokat az információkat, amelyekre szüksége van ahhoz, hogy tisztában legyen a típusmegvalósításokkal. A futtatókörnyezetben egy típus nem létezik a szerelvény környezetén kívül.
A szerelvény a következő információkat határozza meg:
A közös nyelvi futtatókörnyezet által végrehajtott kód. Vegye figyelembe, hogy minden egyes szerelvény csak egy belépési ponttal rendelkezhet:
DllMain
,WinMain
vagyMain
.Biztonsági határ. A szerelvény az az egység, amelyben engedélyeket kérnek és adnak meg. A szerelvények biztonsági határaival kapcsolatos további információkért lásd a szerelvény biztonsági szempontjait.
Írja be a határt. Minden típus identitása tartalmazza annak a szerelvénynek a nevét, amelyben található. Az egyik szerelvény hatókörébe betöltött típus
MyType
nem ugyanaz, mint egy másik szerelvény hatókörébe betöltött típusMyType
.Hivatkozási hatókör határa. A szerelvény jegyzékfájlja metaadatokkal rendelkezik, amelyek a típusok feloldására és az erőforrás-kérelmek kielégítésére szolgálnak. A jegyzék megadja a szerelvényen kívül elérhetővé tenni kívánt típusokat és erőforrásokat, és felsorolja azokat a szerelvényeket, amelyektől függ. A microsoftos köztes nyelvi (MSIL) kód egy hordozható végrehajtható fájlban (PE) csak akkor lesz végrehajtva, ha rendelkezik hozzá társított szerelvényjegyzékvel.
Verzióhatár. A szerelvény a legkisebb verziószámozható egység a közös nyelvi futtatókörnyezetben. Az ugyanabban a szerelvényben található összes típus és erőforrás verziószámozott egy egységként. A szerelvény jegyzékfájlja a függő szerelvényekhez megadott verziófüggőségeket írja le. A verziószámozással kapcsolatos további információkért lásd a szerelvény verziószámozását ismertető témakört.
Üzembe helyezési egység. Amikor elindul egy alkalmazás, csak azokat a szerelvényeket kell tartalmaznia, amelyeket az alkalmazás kezdetben hív. Más szerelvények, például honosítási erőforrásokat vagy segédprogramosztályokat tartalmazó szerelvények igény szerint lekérhetők. Ez lehetővé teszi, hogy az alkalmazások egyszerűek és vékonyak legyenek az első letöltéskor. A szerelvények üzembe helyezésével kapcsolatos további információkért tekintse meg az alkalmazások üzembe helyezését ismertető témakört.
Egymás melletti végrehajtási egység. A szerelvény több verziójának futtatásáról további információt a Szerelvények és az egymás melletti végrehajtás című témakörben talál.
Szerelvény létrehozása
A szerelvények lehetnek statikusak vagy dinamikusak. A statikus szerelvényeket a rendszer hordozható végrehajtható (PE) fájlokban tárolja a lemezen. A statikus szerelvények tartalmazhatnak interfészeket, osztályokat és erőforrásokat, például bitképeket, JPEG-fájlokat és más erőforrásfájlokat. Dinamikus szerelvényeket is létrehozhat, amelyek közvetlenül a memóriából futnak, és nem kerülnek lemezre a végrehajtás előtt. A dinamikus szerelvényeket a végrehajtás után lemezre mentheti.
A szerelvényeket többféleképpen is létrehozhatja. Használhat olyan fejlesztői eszközöket, például Visual Studio, amelyek .dll vagy .exe fájlokat hozhatnak létre. A Windows SDK eszközeivel más fejlesztési környezetekből származó modulokkal rendelkező szerelvényeket hozhat létre. A közös nyelvi futtatókörnyezeti API-kat is használhatja, például System.Reflection.Emitdinamikus szerelvények létrehozásához.
Összeállíthatja a szerelvényeket úgy, hogy Visual Studio készíti őket, .NET Core parancssori felületi eszközökkel készíti őket, vagy .NET-keretrendszer szerelvényeket készít egy parancssori fordítóval. A szerelvények .NET CLI használatával történő létrehozásával kapcsolatos további információkért tekintse meg a .NET CLI áttekintését.
Megjegyzés
Ha szerelvényt szeretne készíteni Visual Studio, válassza a Build menü Build elemét.
Szerelvényjegyzék
Minden szerelvény rendelkezik egy szerelvény jegyzékfájllal . A szerelvényjegyzék a tartalomjegyzékhez hasonlóan a következőket tartalmazza:
A szerelvény identitása (neve és verziója).
A szerelvényt alkotó összes többi fájlt leíró fájltábla, például a .exe vagy .dll fájl által létrehozott egyéb szerelvények, bitképfájlok vagy readme fájlok.
Szerelvény-referencialista, amely az összes külső függőség, például .dlls vagy más fájlok listája. A szerelvényhivatkozások globális és privát objektumokra is hivatkoznak. A globális objektumok minden más alkalmazás számára elérhetők. A .NET Core-ban a globális objektumok egy adott .NET Core-futtatókörnyezettel vannak összekapcsolva. A .NET-keretrendszer a globális objektumok a globális szerelvény-gyorsítótárban (GAC) találhatók. System.IO.dll egy példa a GAC szerelvényére. A privát objektumoknak az alkalmazás telepítésének könyvtárszintjén vagy alatta kell lenniük.
Mivel a szerelvények tartalommal, verziószámozással és függőségekkel kapcsolatos információkat tartalmaznak, az őket használó alkalmazásoknak nem kell külső forrásokra, például a Windows rendszerek beállításjegyzékére támaszkodniuk a megfelelő működéshez. A szerelvények csökkentik .dll ütközéseket, és megbízhatóbbá és egyszerűbbé teszik az alkalmazások üzembe helyezését. Sok esetben telepíthet egy . A NET-alapú alkalmazás egyszerűen másolja a fájljait a célszámítógépre. További információ: Szerelvényjegyzék.
Szerelvényre mutató hivatkozás hozzáadása
Ha szerelvényt szeretne használni egy alkalmazásban, hozzá kell adnia egy hivatkozást. A szerelvényre való hivatkozás után a névterek összes elérhető típusa, tulajdonsága, metódusa és más tagja úgy lesz elérhető az alkalmazás számára, mintha a kód a forrásfájl részét képezte volna.
Megjegyzés
A .NET-osztálytár legtöbb szerelvényére automatikusan hivatkozik a rendszer. Ha egy rendszerszerelvényre nem hivatkozik automatikusan a rendszer, adjon hozzá egy hivatkozást az alábbi módok egyikével:
- A .NET és a .NET Core esetében adjon hozzá egy hivatkozást a szerelvényt tartalmazó NuGet-csomagra. Használja a NuGet-Csomagkezelő Visual Studio, vagy adjon hozzá egy <PackageReference> elemet a szerelvényhez a .csproj vagy .vbproj projekthez.
- .NET-keretrendszer esetén adjon hozzá egy hivatkozást a szerelvényhez a Visual Studio Hivatkozás hozzáadása párbeszédpanelén, vagy a
-reference
C# vagy Visual Basic fordítók parancssori beállításával.
A C#-ban ugyanazon szerelvény két verzióját használhatja egyetlen alkalmazásban. További információ: extern alias.
Kapcsolódó tartalom
Cím | Leírás |
---|---|
Szerelvény tartalma | Szerelvényt alkotó elemek. |
Szerelvényjegyzék | A szerelvényjegyzékben lévő adatok, valamint a szerelvényekben való tárolás módja. |
Globális szerelvény-gyorsítótár | Hogyan tárolja és használja a GAC a szerelvényeket. |
Erős elnevezett szerelvények | Az erős elnevezett szerelvények jellemzői. |
A szerelvény biztonsági szempontjai | Hogyan működik a biztonság a szerelvényekkel? |
Szerelvény verziószámozása | A .NET-keretrendszer verziószámozási szabályzatának áttekintése. |
Szerelvény elhelyezése | Hol találhatók a szerelvények. |
Szerelvények és egymás melletti végrehajtás | Használjon egyszerre több futtatókörnyezetet vagy szerelvényt. |
Dinamikus metódusok és szerelvények bocsátanak ki | Dinamikus szerelvények létrehozása. |
A futtatókörnyezet szerelvényeinek megkeresése | Hogyan oldja fel a .NET-keretrendszer a szerelvényhivatkozásokat futásidőben. |
Referencia
Lásd még
- .NET-szerelvényfájl formátuma
- Baráti összejövetelek
- Referenciaszerelvények
- Útmutató: Szerelvények betöltése és eltávolítása
- Útmutató: A szerelvény eltávolíthatóságának használata és hibakeresése a .NET Core-ban
- Útmutató: Annak meghatározása, hogy egy fájl szerelvény-e
- Útmutató: Szerelvény tartalmának vizsgálata a MetadataLoadContext használatával