Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Platforma .NET udostępnia środowisko uruchomieniowe nazywane środowiskiem uruchomieniowym języka wspólnego, które uruchamia kod i udostępnia usługi, które ułatwiają proces programowania.
Kompilatory i narzędzia uwidaczniają funkcje środowiska uruchomieniowego języka wspólnego i umożliwiają pisanie kodu, który korzysta ze środowiska wykonawczego zarządzanego. Kod opracowywany za pomocą kompilatora języka, który jest przeznaczony dla środowiska uruchomieniowego, jest nazywany kodem zarządzanym. Zarządzany kod korzysta z funkcji takich jak integracja międzyjęzykowa, obsługa wyjątków między językami, zwiększone bezpieczeństwo, wsparcie dla wersjonowania i wdrażania, uproszczony model interakcji składników oraz usługi debugowania i profilowania.
Uwaga / Notatka
Kompilatory i narzędzia mogą generować dane wyjściowe używane przez środowisko uruchomieniowe języka wspólnego, ponieważ system typów, format metadanych i środowisko uruchomieniowe (system wykonywania wirtualnego) są definiowane przez publiczny standard, specyfikację infrastruktury języka wspólnego ECMA. Aby uzyskać więcej informacji, zobacz ECMA C# i Common Language Infrastructure Specifications (Specyfikacje infrastruktury języka wspólnego ECMA).
Aby umożliwić środowisku uruchomieniowemu udostępnianie usług kodu zarządzanego, kompilatory języka muszą emitować metadane opisujące typy, składowe i odwołania w kodzie. Metadane są przechowywane przy użyciu kodu; każdy ładowalny plik wykonywalny środowiska uruchomieniowego języka wspólnego (PE) zawiera metadane. Środowisko uruchomieniowe używa metadanych do lokalizowania i ładowania klas, określania wystąpień w pamięci, rozpoznawania wywołań metod, generowania kodu natywnego, wymuszania zabezpieczeń i ustawiania granic kontekstu środowiska uruchomieniowego.
Środowisko uruchomieniowe automatycznie obsługuje układ obiektów i zarządza odwołaniami do obiektów, zwalniając je, gdy nie są już używane. Obiekty, których okresy istnienia są zarządzane w ten sposób, są nazywane danymi zarządzanymi. Zbieranie śmieci eliminuje przecieki pamięci i niektóre inne typowe błędy programowania. Jeśli kod jest zarządzany, możesz użyć danych zarządzanych, danych niezarządzanych lub obu tych elementów w aplikacji .NET. Ze względu na to, że kompilatory językowe dostarczają własne typy, takie jak typy pierwotne, możesz nie zawsze wiedzieć lub musieć wiedzieć, czy Twoje dane są zarządzane.
Środowisko uruchomieniowe języka wspólnego ułatwia projektowanie składników i aplikacji, których obiekty wchodzą w interakcje między językami. Obiekty napisane w różnych językach mogą komunikować się ze sobą, a ich zachowania można ściśle zintegrować. Można na przykład zdefiniować klasę, a następnie użyć innego języka, aby uzyskać klasę z oryginalnej klasy lub wywołać metodę w oryginalnej klasie. Możesz również przekazać wystąpienie klasy do metody klasy napisanej w innym języku. Ta integracja między językami jest możliwa, ponieważ kompilatory języka i narzędzia przeznaczone dla środowiska uruchomieniowego używają wspólnego systemu typu zdefiniowanego przez środowisko uruchomieniowe. Są one zgodne z regułami środowiska uruchomieniowego dotyczącymi definiowania nowych typów i tworzenia, używania, utrwalania i tworzenia powiązań z typami.
W ramach metadanych wszystkie zarządzane składniki zawierają informacje o składnikach i zasobach, względem których zostały utworzone. Środowisko uruchomieniowe używa tych informacji, aby upewnić się, że składnik lub aplikacja ma określone wersje wszystkiego, czego potrzebuje, co sprawia, że kod jest mniej podatny na awarie z powodu niezaspokojonej zależności. Informacje o rejestracji i dane dotyczące stanu nie są już przechowywane w rejestrze, gdzie mogą być trudne do odnalezienia i zarządzania. Zamiast tego informacje o zdefiniowanych typach i ich zależności są przechowywane z kodem jako metadanymi. W ten sposób zadanie replikacji i usuwania składników jest mniej skomplikowane.
Kompilatory języka i narzędzia uwidaczniają funkcjonalność środowiska uruchomieniowego w sposób, który ma być przydatny i intuicyjny dla deweloperów. Niektóre funkcje środowiska uruchomieniowego mogą być bardziej zauważalne w jednym środowisku niż w innym. Sposób korzystania ze środowiska uruchomieniowego zależy od używanych narzędzi lub kompilatorów języka. Jeśli na przykład jesteś deweloperem języka Visual Basic, możesz zauważyć, że w środowisku uruchomieniowym języka wspólnego język Visual Basic ma więcej funkcji zorientowanych na obiekty niż wcześniej. Środowisko uruchomieniowe zapewnia następujące korzyści:
Usprawnienia wydajności.
Możliwość łatwego używania składników opracowanych w innych językach.
Rozszerzalne typy udostępniane przez bibliotekę klas.
Funkcje językowe, takie jak dziedziczenie, interfejsy i przeciążanie w programowaniu obiektowym.
Obsługa jawnego zarządzania wątkami, która umożliwia tworzenie wielowątkowych i skalowalnych aplikacji.
Obsługa wyjątków strukturalnych.
Obsługa atrybutów niestandardowych.
Zbieranie śmieci
Używanie delegatów zamiast wskaźników funkcji w celu zwiększenia bezpieczeństwa i zabezpieczeń typów. Aby uzyskać więcej informacji na temat delegatów, zobacz Common Type System.
Wersje środowiska CLR
Wersje .NET Core i .NET 5+ mają jedną wersję produktu, czyli nie ma oddzielnej wersji środowiska CLR. Aby uzyskać listę wersji platformy .NET Core, zobacz Pobieranie platformy .NET Core.
Jednak numer wersji programu .NET Framework nie musi odpowiadać numerowi wersji środowiska CLR, który zawiera. Aby uzyskać listę wersji programu .NET Framework i odpowiadających im wersji środowiska CLR, zobacz .NET Framework versions and dependencies (Wersje i zależności programu .NET Framework).
Powiązane artykuły
| Nazwa | Opis |
|---|---|
| Proces zarządzanego wykonania | Opisuje wymagane kroki do korzystania z wspólnego środowiska uruchomieniowego języka. |
| Automatyczne zarządzanie pamięcią | Opisuje sposób przydzielania i zwalniania pamięci przez odśmiecacz pamięci. |
| Omówienie programu .NET Framework | Opisuje kluczowe pojęcia dotyczące programu .NET Framework, takie jak wspólny system typów, współdziałanie między językami, wykonywanie zarządzane, domeny aplikacji i zestawy. |
| Wspólny system typów | Opisuje sposób deklarowanych, używanych i zarządzanych typów w środowisku uruchomieniowym w celu zapewnienia integracji między językami. |