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:

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, WinMainvagy Main.

  • 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ípus MyType .

  • 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 -referenceC# 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.

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

System.Reflection.Assembly

Lásd még