C# Определения

.NET Core — кросс-платформенная платформа для разработки, пришедшая на смену платформе .NET Framework (включающую в себя общеязыковую исполняющую среду (Common Language Runtime, CLR) и библиотеку базовых классов (Base Class Library, BCL))

GAC — глобальный кэш сборок — Global Assembly Cache — начиная с .NET Framework 4.0 все приложения используют одну и ту же версию CLR и библиотек, хранящихся в GAC

CoreCLR — кросс-платформенная реализация рабочей общеязыковой исполняющей среды

CoreFX — набор библиотек классов

Можно просмотреть, какие SDK и среды выполнения (Runtime) установлены на ПК

C:\Users\Bouncer77>dotnet --list-sdks
7.0.304 [C:\Program Files\dotnet\sdk]
7.0.305 [C:\Program Files\dotnet\sdk]

C:\Users\Bouncer77>dotnet --list-runtimes
Microsoft.AspNetCore.App 6.0.18 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 7.0.7 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 7.0.8 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.NETCore.App 6.0.18 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 7.0.7 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 7.0.8 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.WindowsDesktop.App 6.0.18 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
Microsoft.WindowsDesktop.App 7.0.7 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
Microsoft.WindowsDesktop.App 7.0.8 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]

Windows разработка

.NET Core для Windows содержит так же пакет Windows Desctop Pack, который позволяет запускать Windows зависимые приложения на технологиях Windows Forms и Windows Presentation Fundation (WPF). Внеся изменения в эти приложения можно сделать их кроссплатформенными переведя их на .NET Core

Веб-разработка

ASP .NET MVC, ASP .NET Web-API, SignalR, gRPC объединены в ASP .NET Core, работающей на платформе .NET и пришли на смену устаревшим ASP .NET Web Forms, Windows Communication Fundation (WCF). Популярные ранее Windows Workflow (WF) и WCF, а так же Blazor Web Forms имеют проекты с открытым исходным кодом позволяющие данным компонентам перейти на современный .NET.

Мобильная разработка

Работа с базами данных

Entity Framework Core пришел на смену устаревшей Entity Framework (EF) 6

Версии .NET

  1. .NET Core — кросс-платформенные новые приложения
  2. Xamarin — мобильные приложения
  3. .NET Framework — старые приложения
Технологии
Возможности
Хостовая ОС
.NET 7.0 (.NET Core, ASP .NET Core, .NET MAUI)кросс-платформенные новые приложения
C# 8.0 и выше
Linux, Windows, Android, MacOS, iOS
.NET Frameworkограниченная поддержка C# 8.0Windows
кросс-платформенная среда для разработки игр — Unity (проект Mono занял нишу в качестве основы мобильной платформы Xamarin)Android, iOS

Microsoft пытается объединить эти версии используя стандарт .NET Standart 2.1 для C# 8.0 и старше. Но после релиза .NET6 в ноябре 202, в котором BCL (библиотека классов), CLR (исполняющая среда), Mono (исполняющая среда для мобилок), .NET Standart стали использовать только для легаси доработок

Компилирование

Компилятор C# (под названием Roslyn) конвертирует исходный код на C# в код на промежуточном языке (Intermediate Language, IL), аналог байт кода в Java, и сохраняет его в сборке DDL или EXE файле. IL выполняется в виртуальной машине CoreCLR в .NET, аналог JVM в Java. Так же присутствует JIT (Just In Time, динамическая) компиляция. Расширение — декомпилятор ILSpy.NET.

Программы верхнего уровня

Начиная с C# 9.0 писать явно объявлять главный класс Programm и метод Main не обязательно — это будет сделано автоматически благодаря программам верхнего уровня — такая технология.

Оцените автора
Kosenkov.Pro
Добавить комментарий