Microsoft .net framework для windows
Содержание:
- Введение
- Совместимость версий приложений
- Своеобразные кодеки для программ
- Как установить .NET Framework
- Типы выпусков
- Обратная совместимость
- Разновидности программы
- Objective C, Swift или JavaScript
- Обзор
- Microsoft .NET Framework Что это?
- Предназначение .NET Framework
- Терминология .NET
- Как узнать версию net framework с помощью редактора реестра
- Итого
Введение
Стационарные настольные персональные компьютеры и ноутбуки в различном конфигурационном варианте конечного исполнения (нетбуки, ультрабуки, ноутбуки-трансформеры и т.д.), как наиболее массово представленные образцы современных компьютерных устройств, являются самыми востребованными вычислительными комплексами и применяются пользователями для выполнения высоко затратных операций и решения многих трудоемких задач на регулярной основе.
Для полноценного использования, заложенного производителями устройств, потенциала разно форматных компьютеров, управления всеми запущенными процессами и удобного взаимодействия пользователей необходимо наличие соответствующего программного обеспечения. Среди доступных вариантов от различных доверенных разработчиков особой популярностью, выраженной в наиболее массовом представлении на конечных образцах вычислительных устройств, пользуется операционная система «Windows»
от корпорации«Microsoft» , представленная пользователям, на сегодняшний день, в своей новейшей десятой версии.
Благодаря кроссплатформенной оболочке, высоким функциональным возможностям и удачному, дружественному к пользователям, интерфейсу, количество пользователей «Windows 10»
неуклонно растет, и постоянно увеличивается число разнообразных совместимых сторонних приложений, разрабатываемых и внедряемых на основе данной системы.
В «Windows 10»
по умолчанию присутствует«.NET Framework» , собственная платформа разработки корпорации«Microsoft» , состоящая из языков программирования, библиотек и инструментов, которые совокупно позволяют разработчикам создавать различные типы приложений для стационарных компьютеров, ноутбуков и планшетов, а также веб-приложений, игр и решать разнообразные специфические задачи.
Программная среда «.NET Framework»
является открытой и кроссплатформенной, что означает ее полную поддержку основными популярными операционными системами«Windows» ,«Linux» и«Mac OS» .
Хотя в большинстве случаев пользователям нет необходимости беспокоиться о номере версии «.NET Framework»
, установленной в системе«Windows 10» , иногда, для запуска некоторых приложений, требуется определенный конкретный выпуск. Профессиональным программистам обычно требуется запускать несколько версий платформы для разработки и развертывания приложений, и именно в данном случае может пригодиться способ определения версий«.NET Framework» , доступных в системе компьютерного устройства.
Так или иначе, какой бы ни была причина, пользователи могут воспользоваться как минимум тремя способами определения версии «.NET Framework»
, а именно с помощью командной строки, расширяемого средства автоматизации«PowerShell» или получить требуемые сведения в соответствующем реестре системы.
В данном руководстве по описанию возможностей операционной системы «Windows 10»
мы покажем, как определить версию платформы«.NET Framework» , установленную в пользовательском персональном компьютере.
Примечание
. Данное руководстве ориентировано в основном на использование в операционной системе«Windows 10» , но пользователи могут задействовать представленные методы также и в более ранних версиях системы, таких как«Windows 8.1» или«Windows 7» .
Совместимость версий приложений
По умолчанию приложение запускается в той версии платформы .NET Framework, для которой оно было создано. Если эта версия отсутствует и в файле конфигурации приложения не определены поддерживаемые версии, может произойти ошибка инициализации .NET Framework. В этом случае попытка запустить приложение завершится сбоем.
Чтобы определить конкретные версии, в которых запускается приложение, добавьте в файл конфигурации этого приложения один или несколько элементов <supportedRuntime>. Каждый элемент определяет поддерживаемую версию среды выполнения. При этом первый элемент указывает наиболее предпочтительную версию, а последний элемент — наименее предпочтительную версию.
Дополнительные сведения см. в разделе Практическое руководство. Настройка приложения для поддержки платформы .NET Framework 4 или 4.x.
Своеобразные кодеки для программ
NET Framework является комплексом сервисов, позволяющих запускать приложения, которые были созданы в программной среде Microsoft. NET. Соответственно, Microsoft активно продвигает свою программу, и запатентовала технологию Фреймворк. Существует огромное количество различных приложений, сайтов и программ, которые требуют наличия NET Framework, при этом определенной версии.
По сути, технология Фреймворк представляется в виде своеобразных кодеков для сети Интернет и определенных программ. С технической стороны, инструмент NET Framework предназначен для совместимости служб, которые были написаны разными языками программирования.
Как установить .NET Framework
Как уже было сказано, эта платформа обычно уже предустановлена в Windows. Разработчики начали делать это, начиная с Windows 7. Конечно, бывают случаи, когда нужно установить более новую версию. Если включены автоматические обновления системы, то делать ничего не нужно, в противном случае перейдем к скачиванию и установке утилиты.
Итак, бывают случаи, когда нужна более новая версия платформы, а еще и более старая. Чтобы долго не заморачиваться снова воспользуемся утилитой .NET Version Detector. Проделаем следующие действия:
Кстати, если в утилите компонент выделен серым цветом, как у меня с версией 4.0, это значит, что платформа уже установлена.
Типы выпусков
Сведения о типе каждого выпуска закодированы в номере версии в формате основной.дополнительный.исправление.
Пример:
- .NET Core 3.0 и NET 5.0 являются основными выпусками.
- .NET Core 3.1 — это первый дополнительный выпуск после основного выпуска .NET Core 3.0.
- .NET Core 3.1.7 — это седьмое исправление для .NET Core 3.1.
Основные выпуски
Основные выпуски включают новые функции, контактные зоны нового общедоступного API и исправления ошибок. К примерам относятся .NET Core 3.0 и .NET 5.0. Ввиду характера изменений эти выпуски должны включать критически важные изменения. Основные выпуски устанавливаются параллельно с предыдущими основными выпусками.
Дополнительные выпуски
Дополнительные выпуски также включают новые функции, контактные зоны общедоступных API и исправления ошибок, а также могут включать критически важные изменения. К примерам относятся .NET Core 2.1 и .NET Core 3.1
Разница между этими и основными выпусками заключается в том, что важность изменений ниже. Важность обновления приложения с .NET Core 3.0 до 3.1 ниже важности перехода на следующую версию
Дополнительные выпуски устанавливаются параллельно с предыдущими дополнительными выпусками.
Сервисные обновления
Сервисные обновления (исправления) выпускаются почти каждый месяц, и эти обновления включают исправления ошибок в системе безопасности, а также исправления, не связанные с безопасностью. Например, .NET Core 3.1.8 является восьмым обновлением для .NET Core 3.1. Когда эти обновления включают исправления для системы безопасности, они выпускаются в «день установки исправлений», который всегда приходится на второй вторник месяца. Сервисные обновления должны обеспечивать совместимость. Начиная с .NET Core 3.1 сервисные обновления — это обновления, которые удаляют предыдущее обновление. Например, последнее сервисное обновление для 3.1 после успешной установки удаляет предыдущее обновление 3.1.
Пакеты функций (только для пакетов SDK)
Управление версиями для пакетов SDK для .NET работает немного иначе, чем для среды выполнения .NET. Для обеспечения соответствия новым выпускам Visual Studio обновления пакета SDK для .NET иногда содержат новые функции или новые версии таких компонентов, как MSBuild и NuGet. Эти новые функции или компоненты могут быть несовместимы с версиями, поставляемыми в предыдущих обновлениях пакета SDK для той же основной или дополнительной версии.
Для различения таких обновлений пакет SDK для .NET использует концепцию пакетов функций. Например, первым пакетом SDK для .NET Core 3.1 был 3.1.100. Этот выпуск соответствует пакету функций 3.1.1xx. Пакеты функций определяют сотни в обозначении исправления в номере версии (три последних цифры). Например, в версиях 3.1.101 и 3.1.201 пакеты функций различаются, а в версиях 3.1.101 и 3.1.199 они одинаковы. При установке пакета SDK для .NET Core 3.1.101 пакет SDK для .NET Core 3.1.100, если он есть на компьютере, удаляется. Когда на тот же компьютер устанавливается пакет SDK для .NET Core 3.1.200, пакет SDK для .NET Core 3.1.101 не удаляется.
Накат и совместимость среды выполнения
Основные и дополнительные обновления устанавливаются параллельно с предыдущими версиями. Приложение, созданное для конкретной основной.дополнительной версии, по-прежнему будет использовать эту целевую среду выполнения, даже если установлена более новая версия. Приложение не выполняет автоматический накат для использования более новой основной.дополнительной версии среды выполнения, если только вы не выберете это поведение. Приложение, разработанное для .NET Core 3.0, не запускается автоматически с .NET Core 3.1. Перед развертыванием в рабочей среде рекомендуется перестроить приложение и выполнить тестирование на соответствие более новой основной или дополнительной версии среды выполнения. Дополнительные сведения см. в статьях и Обновление версии среды выполнения автономного развертывания.
Сервисные обновления обрабатываются иначе, чем основные и дополнительные выпуски. Приложение, созданное для платформы .NET Core 3.1, по умолчанию выполняется в среде выполнения 3.1.0. При установке сервисного обновления оно автоматически выполняет накат, чтобы использовать более новую среду выполнения 3.1.1. Это поведение используется по умолчанию, поскольку требуется, чтобы исправления для системы безопасности использовались сразу после установки без каких-либо других действий. Можно отказаться от такого поведения наката по умолчанию.
Обратная совместимость
Платформа .NET Framework 4.5 и более поздних версий обратно совместима с приложениями, созданными с помощью более ранних версий .NET Framework. Иными словами, приложения и компоненты, созданные с использованием предыдущих версий платформы .NET Framework, будут без внесения изменений работать в .NET Framework 4.5 и более поздних версий. Однако по умолчанию приложения выполняются в той версии среды CLR, для которой они были разработаны, поэтому, чтобы обеспечить возможность выполнения приложения в .NET Framework 4.5 и более поздних версий, может потребоваться предоставить файл конфигурации. Дополнительные сведения см. в разделе выше.
На практике эту совместимость можно нарушить на первый взгляд несущественными изменениями в платформе .NET Framework и изменениями в методах программирования. Например, улучшения в производительности в платформе .NET Framework 4.5 могут привести к состоянию гонки, которого не было в предыдущих версиях. Следует также иметь в виду, что такие действия, как использование жестко запрограммированного пути к сборкам .NET Framework, сравнение на равенство с конкретной версией платформы .NET Framework и получение значения частного поля с помощью отражения, нарушают обратную совместимость. Кроме того, каждая версия платформы .NET Framework содержит исправления ошибок и изменения, связанные с безопасностью, которые могут влиять на совместимость некоторых приложений и компонентов.
Если приложение или компонент не работает в .NET Framework 4.5 и в доработанных выпусках, .NET Framework 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2 или 4.8, ожидаемым образом, воспользуйтесь следующими контрольными списками:
-
Если приложение разработано для выполнения в любой версии платформы .NET Framework, начиная с .NET Framework 4.0, см. раздел Совместимость приложений, чтобы создать списки изменений между вашей целевой версией .NET Framework и версией, в которой выполняется приложение.
-
Если приложение предназначено для .NET Framework 3.5, см. также раздел Проблемы при миграции на .NET Framework 4.
-
Если приложение предназначено для .NET Framework 2.0, см. также раздел Изменения в .NET Framework 3.5 SP1.
-
Если приложение предназначено для .NET Framework 1.1, см. также раздел Изменения в .NET Framework 2.0.
-
Если вы перекомпилируете существующий исходный код для запуска в платформе .NET Framework 4.5 (или ее доработанных выпусках) или разрабатываете новую версию приложения или компонента для запуска в .NET Framework 4.5 или ее доработанных выпусках на основе существующей базы исходного кода, просмотрите раздел Что устарело в библиотеке классов на предмет устаревших типов и членов и используйте описанный обходной путь. (Скомпилированный ранее код будет продолжать работать с типами и членами, которые отмечены как устаревшие.)
-
Если обнаруживается, что изменение в .NET Framework 4.5 нарушило работу приложения, обратитесь к разделу Схема параметров среды выполнения и, в частности, к подразделу Элемент <AppContextSwitchOverrides>, чтобы определить, можно ли использовать параметры среды выполнения в файле конфигурации приложения для восстановления предыдущего поведения.
-
Если у вас возникла незадокументированная проблема, откройте проблему на веб-сайте сообщества разработчиков .NET или в репозитории GitHub Microsoft/dotnet.
Разновидности программы
Разнообразие версий NET Framework, к сожалению, не говорит об их взаимозаменяемости. Для разных пользовательских программ могут понадобиться разные версии Фреймворк. Потому не редко, когда на один компьютер устанавливают несколько таких версий. Это не значит, что на каждом персональном компьютере в Windows обязательно должна быть установлена NET Framework. Но специалисты рекомендуют установку, потому что в самой неподходящей ситуации, когда нужно будет работать с новым сервисом или сайтом, может возникнуть проблема из-за отсутствия Фреймворка.
NET Framework представлена несколькими разновидностями:
- Спецификация NET Compact Framework. Необходима для продуктивной работы устройств, которые работают с использованием платформы Windows CE.
- Модификация DotGNU. Является аналогом главной программы, от которой отличается открытым исходным кодом.
- Модель типа NET Micro Framework. Используется в устройствах, которые имеют 32-разрядные микроконтроллеры и более мощные 64-разрядные.
- Модификация Portable.NET. Имеет переносной инструментарий, обходится в работе без процесса инсталляции.
Objective C, Swift или JavaScript
Скажу прямо, ваш покорный слуга тащится от многих продуктов яблочной компании, но в этот список Objective-C не входит. У меня было несколько попыток с ним подружиться, но дружба как-то не пошла. Не знаю, не нравятся мне он и все. Релиз Swift можно сказать исправил ситуацию, но пока он в стадии активной разработки и шлифовки. Применять его в реальных проектах не сильно хочется.
Поразмышляв о плюсах и минусах всех доступных технологий разработки под iOS, я решил остановиться на своем любимом JavaScript. Если нет жизненной необходимости в нативных фишках Objective C, а за плечами имеется опыт разработки на JavaScript, то почему бы не начать покорение мобильных платформы именно с него?
Тем более нередко возникают одноразовые проекты (без дальнейшей поддержки) и ради них в серьез изучать Objective-C
В таких случаях хочется быстрей решить задачу с минимальными затратами. «Серебряной пулей» на этом поприще давно зарекомендовала себя проект PhoneGap
. Он генерирует каркас будущего приложения и приравнивает процесс создания мобильного приложения к типовому сайту. Вот и получается, что при наличии средних знанийHTML/CSS/JS вполне себе реально собрать приличное приложение.
Платформа PhoneGap
предоставляет все необходимое для создания приложений, но дизайнерские тонкости оставляет на наше усмотрение. Грубо говоря, вот так просто взять и собрать приложение с приближенным к нативному исполнению интерфейсу – не получится. Без привлечения дополнительных технологий тут не обойтись.
Обзор
Версия | CLR | Дата выпуска | Поддержка прекращена | Visual Studio | Включен в | Может быть установлен на | Заменяет | ||
---|---|---|---|---|---|---|---|---|---|
Окна | Windows Server | Окна | Windows Server | ||||||
1.0 | 2002-01-15 | Visual Studio .NET (2002) | N / A | N / A | NT 4.0 SP6a , , , Me , , XP | NT 4.0 SP6a, 2000, 2003 | N / A | ||
↑ | 2002-03-19 | N / A | N / A | ↑ | ↑ | ↑ | |||
↑ | 2002-08-07 | XP SP1 | N / A | ↑ | ↑ | ↑ | |||
↑ | 2004-08-30 | 2009-07-14 | N / A | N / A | ↑ | ↑ | ↑ | ||
1.1 | 2003-04-09 | Visual Studio .NET 2003 | N / A | (x86) | NT 4.0 SP6a, 98, 98SE, Me, 2000, XP, Vista | NT 4.0 SP6a, 2000, 2003 (x64), 2008 | 1.0 | ||
↑ | 2004-08-30 | 2013-10-08 | XP SP2, SP3 | 2003 SP1, SP2 (x86) | ↑ | ↑ | ↑ | ||
2.0 | 2005-10-27 | Visual Studio 2005 | N / A | 98, 98SE, Me, 2000 с пакетом обновления 3 (SP3), XP с пакетом обновления 2 (SP2) | 2000 SP3, 2003 | N / A | |||
↑ | 2007-11-19 | N / A | 2008 г. | 2000 с пакетом обновления 4 (SP4), XP с пакетом обновления 2 (SP2) | 2000 SP4, 2003 SP1 | ↑ | |||
↑ | 2008-08-11 | 2011-07-12 | N / A | 2008 SP2, 2008 R2 | ↑ | ↑ | ↑ | ||
2.0 | 2006-11-06 | Visual Studio 2008 | Vista | N / A | XP SP2 | 2003 SP1 | 2.0 | ||
↑ | 2007-11-19 | Vista SP1 | 2008 г. | ↑ | ↑ | ↑ | |||
↑ | 2008-08-11 | 2011-07-12 | Vista SP2 | 2008 SP2, 2008 R2 | ↑ | ↑ | ↑ | ||
2.0 | 2007-11-19 | Visual Studio 2008 | N / A | N / A | XP SP2, Vista | 2003 SP1, 2008 | 2,0, 3,0 | ||
↑ | 2008-08-11 | 2028-10-10 | Visual Studio 2008 с пакетом обновления 1 (SP1) | , , 8.1 , | 2008 R2, , 2012 R2 , или новее | ↑ | ↑ | ↑ | |
4 | 2010-04-12 | 2016-01-12 | Visual Studio 2010 | N / A | N / A | XP SP3, Vista SP1, 7 | 2003 SP2, 2008, 2008 R2 | N / A | |
4 | 2012-08-15 | 2016-01-12 | Visual Studio 2012 | 2012 г. | Vista SP2, 7 SP1 | 2008 с пакетом обновления 2 (SP2), 2008 R2 с пакетом обновления 1 (SP1) | 4.0 | ||
4 | 2013-10-17 | 2016-01-12 | Visual Studio 2013 | 8.1 | 2012 R2 | Vista SP2, 7 SP1, 8 | 2008 с пакетом обновления 2 (SP2), 2008 R2 с пакетом обновления 1 (SP1), 2012 г. | 4.0, 4.5 | |
4 | 2014-05-05 | 2022-04-26 | Visual Studio 2015 | N / A | N / A | Vista с пакетом обновления 2, 7 с пакетом обновления 1, 8, 8.1 | 2008 с пакетом обновления 2, 2008 R2 с пакетом обновления 1, 2012, 2012 R2 | 4.0-4.5.1 | |
4 | 2015-07-20 | 2022-04-26 | Visual Studio 2015 | 10 v1507 | N / A | Vista SP2, 7 SP1, 8, 8.1 Обновить | 2008 SP2, 2008 R2 SP1, 2012, 2012 R2 Обновление | 4.0-4.5.2 | |
4 | 2015-11-30 | 2022-04-26 | Visual Studio 2015 с обновлением 1 | N / A | 7 SP1, 8, обновление 8.1, 10 v1507 | 2008 R2 SP1, 2012, 2012 R2 Обновление | 4,0–4,6 | ||
4 | 2016-08-02 | То же, что и родительская ОС | Visual Studio 2017 15.0 | 2016 г. | 7 SP1, 8, обновление 8.1, 10 v1507-v1511 | 2008 R2 SP1, 2012, 2012 R2 Обновление | 4.0-4.6.1 | ||
4 | 2017-04-05 | Visual Studio 2017 15.1 | N / A | 7 SP1, обновление 8.1, 10 v1607 | 2008 R2 SP1, 2012, обновление 2012 R2, 2016 | 4.0-4.6.2 | |||
4 | 2017-10-17 | Visual Studio 2017 15.5 | v1709 | 7 SP1, обновление 8.1, 10 v1607-v1703 | 2008 R2 SP1, 2012, обновление 2012 R2, 2016 | 4,0–4,7 | |||
4 | 2018-04-30 | Visual Studio 2017 15.8 | v1803-v1809 , | 7 SP1, обновление 8.1, 10 v1607-v1709 | 2008 R2 SP1, 2012, обновление 2012 R2, 2016, v1709 | 4.0-4.7.1 | |||
4 | 2019-04-18 | Visual Studio 2019 16.3 | или новее | v1903 или новее | 7 SP1, обновление 8.1, 10 v1607-v1809 | 2008 R2 SP1, 2012, обновление 2012 R2, 2016, v1803-v1809, 2019 | 4.0-4.7.2 |
Примечания:
- а. .NET Framework 1.0 является неотъемлемым компонентом Windows XP Media Center Edition и Windows XP Tablet PC Edition . Установочные компакт-диски для версий Home и Professional Windows XP SP1, SP2 или SP3 поставляются с установочными пакетами .NET Framework 1.0.
- б. Установочные компакт-диски для версий Home и Professional Windows XP SP2 и SP3 поставляются с установочными пакетами .NET Framework 1.1.
- c. .NET Framework не устанавливается автоматически с этой операционной системой. Его необходимо установить либо с установочного носителя Windows, либо из Интернета по запросу. Панель управления или диспетчер сервера всегда пытается выполнить последнее.
- d. Эта дата применяется только при работе в Windows 10 версии 1809, Windows Server 2019 или более поздней версии. В более старых версиях Windows .NET Framework 3.5 с пакетом обновления 1 использует жизненный цикл базовой операционной системы Windows.
Microsoft .NET Framework Что это?
NET Framework -программный пакет (иногда применяют термины: технология, платформа), который предназначен для разработки программ и приложений. Главной особенностью пакета является то, что разные службы и программы написанные на разных языках программирования будут совместимы.
Например, программа написанная на языке C++ может обратится к библиотеке написанной на языке Delphi.
Здесь можно провести некоторую аналогию с для аудио-видео файлов. Если у вас нет кодеков — то вы не сможете прослушать или посмотреть тот или иной файл. То же самое и с NET Framework — если у вас нет нужной версии — то вы не сможете запустить определенные программы и приложения.
Можно ли не устанавливать NET Framework?
Можно и многие пользователи не делают этого. Здесь есть несколько объяснений этому.
Во-первых, NET Framework устанавливается по умолчанию с ОС Windows (например в Windows 7 включен пакет версии 3.5.1).
Во-вторых, многие и не запускают никаких игр или программ, требующих этот пакет.
В-третьих, многие даже не замечают, когда устанавливают игру, что после ее установки она автоматически обновляет или устанавливает пакет NET Framework. Поэтому, многим и кажется, что ненужно специально ничего искать, ОС и приложения сами все найдут и установят (обычно так и бывает, но иногда вылетают и ошибки…).
Поэтому, если начали появляться ошибки при запуске новой игры или программы, посмотрите ее системные требования, возможно у вас просто нет нужной платформы…
Предназначение .NET Framework
Применяется для разработки приложений, работающих на локальной машине и веб-приложений. На нем могут быть также основаны веб-сервисы. Поддерживает языки программирования, в числе которых: Visual Basic и C#. Предоставляет разработчику выбор языка программирования, который будет использован при создании программы.
Удобство пользователей и разработчиков
С .NET Framework необходимость писать каждую программу «с нуля» отсутствует. Есть готовые фрагменты программного кода. Элементы окон стандартные. Разработчик лишь вставляет текст, формирует меню приложения и определяет, что будет происходит, когда вы нажмете на определенную кнопку.
Не приходится задумываться над особенностями кода, который нужен для поддержки программы операционной системой и для работы с сервисами Майкрософт, к которым относится и магазин приложений Windows Store. Платформа заботится об экономном использовании аппаратных ресурсов компьютера. Поэтому распространенные в начале века ситуации, когда пустяковый на первый взгляд софт загружал оперативную память, стали большой редкостью.
Комфортно и разработчику и вам. Пользователям не приходится каждый раз изучать нестандартный интерфейс софта, рожденного фантазией программиста. Создатели ПО могут сосредоточиться на функционале приложений. Пользователю нужно лишь позаботиться, чтобы на компьютере была установлена среда выполнения .NET Framework.
Универсальная платформа
Microsoft обеспечивает работу основанного на .NET Framework софта во всех поддерживаемых компанией операционных системах.
Степень обратной совместимости ПО высока. Рассмотрю на примере старых версий. Вам нужна программа, основанная на версии 2.0. Запускаете ее на ноутбуке или настольном ПК с поздней версией. И старый софт будет работать.
Основанное на платформе ПО работает на любой Windows с установленным .NET Framework. Встроен механизм безопасности. Осуществляется управлением памятью. Платформа .NET видит те ресурсы, которые не используются работающей программой. Очистит память от ставших ненужными в процессе работы фрагментов.
Для разработчиков предусмотрены инструменты упаковки приложений. Они легко устанавливаются на ПК.
Архитектура .NET Framework
CLI («Common Language Infrastructure») — платформа, на которой выполняются программы. Основные функции CLI:
- Обработка исключений. К ним относятся ошибки, возникающие при работе программы. Приведу примеры:
- Приложение пытается открыть на локальном компьютере файл, который отсутствует
- Приложение обращается к базе данных, а соединение с ней отсутствует
- Чистка мусора, то есть удаление ресурсов, которые больше не нужны. Проверяется, какие ресурсы не используются и производится их освобождение для выполнения других задач. Примеры фрагментов, которые удаляются в процессе работы без вмешательства пользователя:
- Дескриптор файла, который больше не требуется
- В соединении с базой данных больше нет необходимости. Программа завершила все операции с базой данных
- Работа с различными языками программирования
Уровни .NET Framework
Выделяются три уровня:
- Языки программирования. Часто используемые: VB.NET и C#
- Компиляторы. Для каждого языка программирования предусмотрен отдельный компилятор. Для VB.NET — один, для C# — другой
- Интерпретатор «Common Language Interpreter» используется для запуска приложения, написанного на любом языке программирования. Поэтому компилятор отравит программу в него для последующего запуска приложения
Библиотеки
.NET Framework включает в себя набор стандартных библиотек классов: методов и функций. Например, есть библиотека классов для обработки всех операций на уровне файлов. Есть метод чтения текста из файла и есть метод записи текста в файл.
Типы основанных на платформе приложений
ПО, которое может работать на основе .NET Framework:
- WinForms: программы, которые будут работать на компьютере пользователя. Пример клиентского приложения: текстовый редактор «Блокнот»
- ASP.NET применяется для разработки веб-приложений, которые станут работать в любом браузере, в том числе: Chrome, Edge, Firefox. При этом:
- Веб-приложение будет обрабатываться на сервере, на котором установлены информационные службы интернета (IIS)
- IIS — это компонент Microsoft, который применяется для запуска приложения ASP.NET
- Результат выполнения отправляется на компьютер пользователя и отображается в браузере
- Технология ADO.NET применяется для создания приложений, предназначенных для работы с базами данных, такими как Microsoft SQL Server и Oracle
Терминология .NET
Для понимания документации по .NET важно понять, как использование некоторых терминов изменилось со временем
.NET Core и .NET 5
В 2002 году корпорация Майкрософт выпустила .NET Framework, платформу разработки для создания приложений Windows. Сегодня доступна версия 4.8 платформы .NET Framework, и она по-прежнему поддерживается Майкрософт.
В 2014 году корпорация Майкрософт начала создавать кроссплатформенный преемник платформы .NET Framework с открытым исходным кодом. Эта новая реализация .NET называлась .NET Core, пока не была выпущена версия 3.1. Следующая версия после .NET Core 3.1 — .NET 5.0. Номер версии 4 был пропущен во избежание путаницы между этой реализацией .NET и .NET Framework 4.8. Слово «Core» было удалено из названия, чтобы указать, что теперь это основная реализация .NET.
Эта статья посвящена .NET 5, но большая часть документации по .NET 5 по-прежнему ссылается на .NET Core или .NET Framework. Кроме того, слово «Core» остается в именах ASP.NET Core и Entity Framework Core.
Документация также относится к .NET Standard. .NET Standard — это спецификация API, которая позволяет разрабатывать библиотеки классов для нескольких реализаций .NET.
Дополнительные сведения см. в разделе Архитектурные компоненты .NET.
Уточнение терминологии
Часть терминологии .NET может показаться запутанной, поскольку одно и то же слово используется по-разному в разных контекстах. Ниже приведены некоторые из более заметных примеров:
-
Среда выполнения
Контекст Значение термина «среда выполнения» Среда выполнения для управляемой программы. Операционная система является частью среды выполнения, но не входит в среду выполнения .NET. Среда выполнения .NET на странице загрузки .NET и , которые обеспечивают поддержку запуска приложений, . На странице также предлагаются варианты среды выполнения для серверных приложений ASP.NET Core и классических приложений Windows. Идентификатор среды выполнения (RID) Платформа ОС и архитектура ЦП, на которых работает приложение .NET. Пример: 64-разрядная версия Windows, 64-разрядная версия Linux. -
платформа
Контекст Значение термина «платформа» .NET Framework Исходная реализация .NET только для Windows. Слово «Framework» указывается с первой прописной буквы. целевая платформа Коллекция API-интерфейсов, которую использует приложение или библиотека .NET. Примеры: .NET Core 3.1, .NET Standard 2.0 Моникер целевой платформы (TFM) TFM — это стандартизированный формат маркера для указания целевой платформы приложения или библиотеки .NET. Пример: для .NET Framework 4.6.2. Приложение, зависящее от платформы Приложение, которое может выполняться на компьютере, где установлена среда выполнения со страницы загрузки .NET. «Платформа» в этом контексте — то же самое, что и среда выполнения, загружаемая со страницы загрузки .NET. Библиотеки платформы Иногда используется в качестве синонима для . -
Пакет SDK
Контекст Значение термина «пакет SDK» Набор средств и библиотек, которые вы скачиваете и устанавливаете для разработки и запуска приложений .NET. Включает в себя интерфейс командной строки, MSBuild, среду выполнения .NET и другие компоненты. Набор целевых объектов и задач MSBuild, указывающий, как следует создавать проект для конкретного типа приложения. Пакет SDK в этом смысле указывается с помощью атрибута элемента в файле проекта. -
platform
Контекст Значение термина «платформа» Кроссплатформенность Здесь термин «платформа» означает операционную систему и оборудование, на котором она выполняется, например Windows, macOS, Linux, iOS и Android. Платформа .NET Возможны разные варианты использования. Может иметься ввиду одна реализация .NET (например, .NET Framework или .NET 5) или абстрактная концепция .NET, включая все реализации.
Дополнительные сведения о терминологии .NET см. в разделе Глоссарий .NET.
Как узнать версию net framework с помощью редактора реестра
Известно, что все основные настройки Windows находятся в реестре. Любое установленное ПО вносит записи в системный реестр. Для начала нужно запустить реестр. Нажмём сочетание «Win+R» и введем команду regedit.
Теперь ищем такой раздел, следуя по каждой ветке в окне реестра: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\«инсталлированная версия».
Еще в правой части окна будет указан параметр Version, также указывающий на версию net framework.
Оба метода довольно простые, а значит и новичок справится. Но давайте перейдем к вопросу, связанному с установкой данного компонента.
Итого
Подведем итоги. Стоит ли мигрировать на новый дотнет и ради чего?
Кажется, самое важное, ради чего стоит заморачиваться — это перфоманс. Ускорили практически все и достаточно заметно
Как на низком уровне — через улучшения в GC и JIT — так и на уровне отдельных частей фреймворка. Так что, если вы хотите выиграть в производительности, стоит как минимум попробовать обновить версию фреймворка и замерить, насколько ускорились основные сценарии.
Другие важные причины для миграции — это улучшения для Blazor и WPF/WinForms. Если вы используете любой из этих фреймворков, стоит попробовать перейти на .NET 5, все же изменения достаточно заметные и полезные. Однако стоит учитывать, что для Blazor миграция выйдет достаточно непростой.
C# 9 определенно не является серьезным мотивом для переезда на новый дотнет, но принесет с собой приятных обновлений синтаксиса за компанию. В то же время и рекорды, и паттерн матчинг добавляют много возможностей сделать код более запутанным — советую обсудить это в команде и решить, как лучше использовать (или не использовать) их в проекте.