Платформа .NET (произносится как « dot net» ) — это бесплатная управляемая компьютерная программная платформа с открытым исходным кодом для операционных систем Windows , Linux и macOS . [4] Проект в основном разрабатывается сотрудниками Microsoft посредством .NET Foundation и распространяется под лицензией MIT . [3]
В конце 1990-х годов Microsoft начала разработку среды выполнения управляемого кода и языка программирования ( C# ), которые она объявила вместе как часть «платформы .NET», с основной средой выполнения и библиотеками программного обеспечения, включающими .NET Framework .
В основе платформы .NET лежит .NET Framework — высокопроизводительная многоязычная среда разработки и выполнения для создания и запуска веб-служб с такими важными функциями, как межъязыковое наследование и отладка. [5]
Вскоре после анонса языка C# на конференции профессиональных разработчиков в 2000 году и появления предварительных версий его программного обеспечения Microsoft начала работу по стандартизации через ECMA для того, что она назвала Common Language Infrastructure . Тем временем компания продолжала разработку и поддержку собственной реализации в качестве проприетарного программного обеспечения с закрытым исходным кодом .
12 ноября 2014 года Microsoft представила .NET Core — кроссплатформенный [ 6] преемник [7] .NET Framework с открытым исходным кодом — и выпустила исходный код для реализации .NET Core CoreCLR , исходный код для «всего [7] .NET Framework». ...] библиотечный стек» для .NET Core, [8] и объявил о принятии традиционной ( «базарной» модели разработки с открытым исходным кодом под управлением .NET Foundation ). Мигель де Икаса описывает .NET Core как «переработанную версию .NET, основанную на упрощенной версии библиотек классов» [9] , а Иммо Ландверт из Microsoft объяснил, что .NET Core станет «фундаментом всех будущих .NET». платформы». На момент объявления первоначальный выпуск проекта .NET Core был наполнен подмножеством исходного кода библиотек и совпал с повторным лицензированием существующего эталонного исходного кода Microsoft .NET без ограничений Ms -RSL . Ландверт признал недостатки ранее выбранной общей лицензии, объяснив, что она сделала кодовое имя Rotor «неудачным» для разработанного сообществом проекта с открытым исходным кодом, поскольку оно не соответствовало критериям лицензии, одобренной Open Source Initiative (OSI). [10] [11] [12]
.NET Core 1.0 был выпущен 27 июня 2016 г. [13] вместе с Microsoft Visual Studio 2015 Update 3, которое позволяет разрабатывать .NET Core. [14] .NET Core 1.0.4 и .NET Core 1.1.1 были выпущены вместе с .NET Core Tools 1.0 и Visual Studio 2017 7 марта 2017 года. [15]
.NET Core 2.0 был выпущен 14 августа 2017 г. вместе с Visual Studio 2017 15.3, ASP.NET Core 2.0 и Entity Framework Core 2.0. [16] .NET Core 2.1 был выпущен 30 мая 2018 г. [17] NET Core 2.2 был выпущен 4 декабря 2018 г. [18]
.NET Core 3 был выпущен 23 сентября 2019 года. [19] NET Core 3 добавляет поддержку разработки настольных приложений для Windows [20] и значительно повышает производительность всей базовой библиотеки.
В ноябре 2020 года Microsoft выпустила .NET 5.0. [21] От брендинга «Core» отказались, а версию 4.0 пропустили, чтобы избежать путаницы с .NET Framework, в последних выпусках которой использовалась версия 4.x для всех значимых выпусков (без исправлений ошибок) с 2010 года.
В нем рассматриваются проблемы патентов , связанные с .NET Framework .
В ноябре 2021 года Microsoft выпустила .NET 6.0, [22], в ноябре 2022 года выпустила .NET 7.0, [23] , а в ноябре 2023 года выпустила .NET 8.0. [24]
Alpine Linux , который в основном поддерживает и использует musl libc, [31] поддерживается начиная с .NET Core 2.1. [32]
Windows Arm64 изначально поддерживается начиная с .NET 5. Раньше .NET на ARM означал приложения, скомпилированные для архитектуры x86 и запускаемые через уровень эмуляции ARM. [30]
.NET полностью поддерживает C# и F# (и C++/CLI начиная с версии 3.1; включено только в Windows) и поддерживает Visual Basic .NET (для версии 15.5 в .NET Core 5.0.100-preview.4 и некоторых старых версий, поддерживаемых в старой версии). .NET Core). [33]
VB.NET компилируется и запускается на .NET, но начиная с .NET Core 3.1 отдельная среда выполнения Visual Basic не реализована. Первоначально Microsoft объявила, что .NET Core 3 будет включать среду выполнения Visual Basic, но через два года график такой поддержки был обновлен до .NET 5. [34] [35]
.NET поддерживает следующие кросс-платформенные сценарии: веб-приложения ASP.NET Core , приложения командной строки/консоли, библиотеки и приложения универсальной платформы Windows . До .NET Core 3.0 он не реализовывал Windows Forms или Windows Presentation Foundation (WPF), которые отображают стандартный графический интерфейс для настольного программного обеспечения в Windows. [36] Однако, начиная с .NET Core 3, они начали реализовываться вместе с универсальной платформой Windows (UWP). [37] Также возможно писать кроссплатформенные графические приложения с использованием .NET с привязкой к языку GTK# для набора инструментов виджетов GTK .
.NET поддерживает использование пакетов NuGet . В отличие от .NET Framework , которая обслуживается с помощью Центра обновления Windows , .NET раньше полагалась на свой менеджер пакетов для получения обновлений. [36] Однако с декабря 2020 года обновления .NET начали доставляться и через Центр обновления Windows. [38]
Двумя основными компонентами .NET являются CoreCLR и CoreFX, которые сопоставимы со средой Common Language Runtime (CLR) и библиотекой классов Framework (FCL) реализации Common Language Infrastructure (CLI) .NET Framework . [39]
Являясь реализацией системы виртуального выполнения CLI (VES), CoreCLR представляет собой полную среду выполнения и виртуальную машину для управляемого выполнения программ CLI и включает в себя JIT-компилятор под названием RyuJIT. [40] [a] .NET Core также содержит CoreRT, среду выполнения .NET Native, оптимизированную для интеграции в собственные двоичные файлы , скомпилированные AOT . [42]
Являясь реализацией стандартных библиотек CLI , [43] CoreFX использует подмножество API .NET Framework, однако он также поставляется со своими собственными API, которые не являются частью .NET Framework. [36] Для UWP используется вариант библиотеки .NET . [44]
Интерфейс командной строки .NET предлагает точку входа для операционных систем и предоставляет такие услуги разработчика, как компиляция и управление пакетами. [45]
Пользовательский интерфейс многоплатформенного приложения .NET ( .NET MAUI , представленный в .NET 6) — это кроссплатформенная среда для создания собственных мобильных и настольных приложений с использованием C# и расширяемого языка разметки приложений (XAML), [46] которая также поддерживает Android и iOS .
Официальным талисманом сообщества .NET является бот .NET (стилизованный под «dotnet-bot» или «dotnet-bot»). Бот dotnet служил разработчиком-заполнителем для первоначальной регистрации исходного кода .NET, когда он был открыт. [47] С тех пор он использовался в качестве официального талисмана.
48. Различия между .NET Framework и .NET Core www.techieclues.com