.NET Core - wykonanie kodu
W tym rozdziale poznamy proces wykonywania .NET Core i porównamy go z .NET Framework. Zarządzany proces wykonywania obejmuje następujące kroki.
- Wybór kompilatora
- Kompilowanie kodu do MSIL
- Kompilowanie MSIL do kodu natywnego
- Uruchomiony kod
 
                Wybór kompilatora
- Jest to wielojęzyczne środowisko wykonawcze, które obsługuje szeroką gamę typów danych i funkcji językowych. 
- Aby uzyskać korzyści zapewniane przez środowisko uruchomieniowe języka wspólnego, należy użyć co najmniej jednego kompilatora języka, który jest przeznaczony dla środowiska uruchomieniowego. 
Kompilowanie kodu do MSIL
- Kompilowanie tłumaczy kod źródłowy na język pośredni firmy Microsoft (MSIL) i generuje wymagane metadane. 
- Metadane opisują typy w kodzie, w tym definicje każdego typu, podpisy elementów członkowskich każdego typu, elementy członkowskie, do których odwołuje się kod, oraz inne dane używane przez środowisko uruchomieniowe w czasie wykonywania. 
- Środowisko wykonawcze lokalizuje i wyodrębnia metadane z pliku, a także z bibliotek klas frameworka (FCL) w razie potrzeby podczas wykonywania. 
Kompilowanie MSIL do kodu natywnego
- W czasie wykonywania kompilator just-in-time (JIT) tłumaczy MSIL na kod natywny. 
- Podczas tej kompilacji kod musi przejść proces weryfikacji, który sprawdza MSIL i metadane, aby dowiedzieć się, czy kod można określić jako bezpieczny dla typów. 
Działający kod
- Środowisko uruchomieniowe języka wspólnego zapewnia infrastrukturę, która umożliwia wykonanie i usługi, które mogą być używane podczas wykonywania. 
- Podczas wykonywania kod zarządzany otrzymuje usługi, takie jak wyrzucanie elementów bezużytecznych, zabezpieczenia, współdziałanie z kodem niezarządzanym, obsługę debugowania w wielu językach oraz ulepszoną obsługę wdrażania i wersjonowania. 
Proces wykonywania kodu .NET Core
Teraz porównajmy sposób wykonywania kodu w .NET Core w porównaniu z .NET Framework. W .NET Core istnieje wiele zamienników tych składników, które są częścią .NET Framework.
 
                - W .NET Core mamy teraz nową serię kompilatorów, takich jak Roslyn dla C # i VB. 
- Możesz również skorzystać z nowego kompilatora F # 4.1, jeśli chcesz używać języka F # z platformą .NET Core. 
- W rzeczywistości te narzędzia są różne i możemy używać Roslyn również z .NET Framework, jeśli używamy C # 6 lub nowszego, ponieważ kompilator C # może obsługiwać tylko do C # 5. 
- W .NET Core nie mamy bibliotek klas frameworków (FCL), więc używany jest inny zestaw bibliotek, a teraz mamy CoreFx. 
- CoreFx to reimplementacja bibliotek klas dla platformy .NET Core. 
- Mamy również nowy czas wykonywania z .NET Core znanym jako CoreCLR i wykorzystuje kompilator JIT. 
- Teraz pytanie brzmi, dlaczego mamy reimplementację wszystkich tych komponentów, które już mamy w .NET Framework. 
- Więc odpowiedź jest taka sama, jak dlaczego Microsoft wdrożył .NET Core.