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 egy futtatókörnyezetet biztosít, az úgynevezett közös nyelvi futtatókörnyezetet, amely futtatja a kódot, és olyan szolgáltatásokat biztosít, amelyek megkönnyítik a fejlesztési folyamatot.
A fordítók és eszközök elérhetővé teszik a közös nyelvi futtatókörnyezet funkcióit, és lehetővé teszik a felügyelt végrehajtási környezet előnyeit élvező kód írását. A futtatókörnyezetet megcélzó nyelvfordítóval fejlesztett kódot felügyelt kódnak nevezzük. A felügyelt kód olyan funkciók előnyeit élvezi, mint a nyelvek közötti integráció, a nyelvközi kivételkezelés, a fokozott biztonság, a verziószámozás és az üzembe helyezés támogatása, az összetevők közötti interakció egyszerűsített modellje, valamint a hibakeresési és profilkészítési szolgáltatások.
Megjegyzés:
A fordítók és az eszközök olyan kimenetet hozhatnak létre, amelyet a közös nyelvi futtatókörnyezet felhasználhat, mivel a típusrendszer, a metaadatok formátuma és a futtatókörnyezet (a virtuális végrehajtási rendszer) mindegyike egy nyilvános szabvány, az ECMA Common Language Infrastructure specifikációja alapján van meghatározva. További információ: ECMA C# és Common Language Infrastructure Specifications.
Ahhoz, hogy a futtatókörnyezet szolgáltatásokat biztosíthasson a felügyelt kódhoz, a nyelvfordítóknak metaadatokat kell kibocsátanak, amelyek a kódban szereplő típusokat, tagokat és hivatkozásokat írják le. A metaadatok a kóddal együtt lesznek tárolva; minden betölthető közös nyelvi futtatókörnyezeti hordozható végrehajtható fájl (PE) metaadatokat tartalmaz. A futtatókörnyezet metaadatokat használ az osztályok megkereséséhez és betöltéséhez, a példányok memóriabeli elhelyezéséhez, a metódushívások feloldásához, natív kód létrehozásához, a biztonság kikényszerítéséhez és a futtatókörnyezet környezeti határainak beállításához.
A futtatókörnyezet automatikusan kezeli az objektumelrendezést, és kezeli az objektumokra mutató hivatkozásokat, és felszabadítja őket, amikor már nem használják őket. Az ilyen módon felügyelt élettartamú objektumokat felügyelt adatoknak nevezzük. A szemétgyűjtés kiküszöböli a memóriaszivárgást és más gyakori programozási hibákat. Ha a kód kezelése folyamatban van, használhat felügyelt adatokat, nem felügyelt adatokat vagy mindkettőt a .NET-alkalmazásban. Mivel a nyelvfordítók saját típusokat, például primitív típusokat biztosítanak, előfordulhat, hogy nem mindig tudja, vagy tudnia kell, hogy az adatok kezelése folyamatban van-e.
A közös nyelvi futtatókörnyezet megkönnyíti az olyan összetevők és alkalmazások tervezését, amelyek objektumai különböző nyelveken kommunikálnak. A különböző nyelveken írt objektumok kommunikálhatnak egymással, és viselkedésük szorosan integrálható. Definiálhat például egy osztályt, majd egy másik nyelvet használva levezethet egy osztályt az eredeti osztályból, vagy meghívhat egy metódust az eredeti osztályban. Az osztály egy példányát egy másik nyelven írt osztály metódusának is átadhatja. Ez a nyelvközi integráció azért lehetséges, mert a futtatókörnyezetet megcélzó nyelvi fordítók és eszközök a futtatókörnyezet által meghatározott közös típusú rendszert használják. A futtatókörnyezet szabályait követik új típusok meghatározására, valamint a típusok létrehozására, használatára, megőrzésére és kötésére.
A metaadatok részeként az összes felügyelt összetevő információkat tartalmaz azokról az összetevőkről és erőforrásokról, amelyeken alapultak. A futtatókörnyezet ezeket az információkat használja annak biztosítására, hogy az összetevő vagy az alkalmazás minden szükséges verzióval rendelkezzen, ami miatt a kód kisebb valószínűséggel törik meg a nem megfelelő függőség miatt. A regisztrációs adatok és az állapotadatok már nem tárolódnak a beállításjegyzékben, ahol nehéz lehet létrehozni és karbantartani őket. Ehelyett a kód metaadatként tárolja a definiált típusokkal és azok függőségeivel kapcsolatos információkat. Így az összetevők replikációja és eltávolítása kevésbé bonyolult feladat.
A nyelvi fordítók és eszközök olyan módon teszik elérhetővé a futtatókörnyezet funkcióit, hogy azok hasznosak és intuitívak legyenek a fejlesztők számára. A futtatókörnyezet egyes funkciói észrevehetőbbek lehetnek az egyik környezetben, mint a másikban. A futtatókörnyezet élménye attól függ, hogy milyen nyelvi fordítókat vagy eszközöket használ. Ha például Visual Basic-fejlesztő, észreveheti, hogy a közös nyelvi futtatókörnyezetben a Visual Basic nyelv objektumorientáltabb funkciókkal rendelkezik, mint korábban. A futtatókörnyezet a következő előnyöket biztosítja:
Teljesítménybeli fejlesztések.
A más nyelveken fejlesztett összetevők egyszerű használata.
Az osztálytár által biztosított bővíthető típusok.
Olyan nyelvi funkciók, mint az öröklés, a felületek és a túlterhelés az objektumorientált programozáshoz.
A többszálas és méretezhető alkalmazások létrehozását lehetővé tevő explicit, ingyenes szálkezelés támogatása.
Strukturált kivételkezelés támogatása.
Egyéni attribútumok támogatása.
Szemétgyűjtés.
Delegáltak használata függvénymutatók helyett a fokozott típusbiztonság és biztonság érdekében. A meghatalmazottakról további információt a Common Type System (Általános típusrendszer) című témakörben talál.
CLR verziók
A .NET Core és a .NET 5+ kiadások egyetlen termékverzióval rendelkeznek, azaz nincs külön CLR-verzió. A .NET Core-verziók listáját a .NET Core letöltése című témakörben találja.
A .NET-keretrendszer verziószáma azonban nem feltétlenül felel meg az általa tartalmazott CLR verziószámának. A .NET-keretrendszer verzióinak és a hozzájuk tartozó CLR-verzióknak a listáját a .NET-keretrendszer verziói és függőségei című témakörben találja.
Kapcsolódó cikkek
| Cím | Leírás |
|---|---|
| Felügyelt végrehajtási folyamat | A közös nyelvi futtatókörnyezet előnyeinek kihasználásához szükséges lépéseket ismerteti. |
| Automatikus memóriakezelés | Ismerteti, hogy a szemétgyűjtő hogyan foglalja le és szabadít fel memóriát. |
| .NET-keretrendszer áttekintése | A .NET-keretrendszer legfontosabb fogalmait ismerteti, például a közös típusrendszert, a nyelvközi együttműködést, a felügyelt végrehajtást, az alkalmazástartományokat és a szerelvényeket. |
| Közös Típus Rendszer | Ismerteti, hogyan deklarálhatók, használhatók és kezelhetők a típusok a futtatókörnyezetben a nyelvközi integráció támogatása érdekében. |