Microsoft .net framework

Supported server operating systems

Operating system Supported editions Preinstalled with the OS Installable separately
Windows Server 2022 64-bit .NET Framework 4.8
Windows Server 2019 64-bit .NET Framework 4.7.2 .NET Framework 4.8
Windows Server, version 1809 64-bit .NET Framework 4.7.2 .NET Framework 4.8
Windows Server, version 1803 64-bit .NET Framework 4.7.2 .NET Framework 4.8
Windows Server, version 1709 64-bit .NET Framework 4.7.1 .NET Framework 4.7.2
Windows Server 2016 64-bit .NET Framework 4.6.2 .NET Framework 4.7 .NET Framework 4.7.1.NET Framework 4.7.2.NET Framework 4.8
Windows Server 2012 R2 64-bit .NET Framework 4.5.1 .NET Framework 4.5.2 .NET Framework 4.6 .NET Framework 4.6.1 .NET Framework 4.6.2.NET Framework 4.7 .NET Framework 4.7.1.NET Framework 4.7.2.NET Framework 4.8
Windows Server 2012 (64-bit edition) 64-bit .NET Framework 4.5 .NET Framework 4.5.1 .NET Framework 4.5.2 .NET Framework 4.6 .NET Framework 4.6.1 .NET Framework 4.6.2.NET Framework 4.7.NET Framework 4.7.1.NET Framework 4.7.2.NET Framework 4.8
Windows Server 2008 R2 SP1 64-bit .NET Framework 4 .NET Framework 4.5 .NET Framework 4.5.1 .NET Framework 4.5.2 .NET Framework 4.6 .NET Framework 4.6.1 .NET Framework 4.6.2.NET Framework 4.7.NET Framework 4.7.1.NET Framework 4.7.2.NET Framework 4.8
Windows Server 2008 SP2 32-bit and 64-bit .NET Framework 4 .NET Framework 4.5 .NET Framework 4.5.1 .NET Framework 4.5.2 .NET Framework 4.6 .NET Framework 4.6.2

Notes:

  • Windows Server 2012 includes .NET Framework 4.5, so you don’t have to install it separately. Similarly, Windows Server 2012 R2 includes .NET Framework 4.5.1.

  • .NET Framework has limited support for the Server Core Role with Windows Server 2008 R2 SP1 or later. See Server Core .NET Functionality for a list of unsupported APIs.

  • .NET Framework isn’t supported on Windows Server 2008 R2 for Itanium-Based Systems.

  • On Windows Server 2008 SP2, .NET Framework is not supported in the Server Core Role.

  • For all platforms, we recommend that you upgrade to the latest Windows Service Pack and critical updates available from Windows Update to ensure the best compatibility and security. Installation of the latest Windows Service Pack may be required on some operating systems.

  • On 64-bit operating systems, .NET Framework supports both WOW64 (32-bit processing on a 64-bit machine) and native 64-bit processing.

Microsoft NET Framework — что это такое?

Наверное, вы знаете, что основное занятие программистов — написание кода. При этом они используют различные языки программирования, позволяющие сказать компьютеру, что он должен делать:

Но есть одна проблема — языки программирования довольно примитивны. С их помощью можно легко выполнять простые действия вроде сложения и умножения. А всё остальное требует долгой и усердной работы. Хотите вывести текст или изображения на экран? Тогда придётся написать много кода, используя самые простые элементы языка.

Здесь на помощь приходит .NET Framework. По сути, это обширный набор написанных фрагментов кода (созданный и поддерживающийся Microsoft), который программисты могут использовать, чтобы быстрее писать программы.

К примеру, .NET Framework берёт на себя все операции по отрисовке окон на экране. Программисту остаётся только вставить текст, продумать меню программы, задать поведение кнопок, когда на них нажимает пользователь и т.д.

Но .NET Framework — намного больше, чем просто набор дополнительного кода. Он включает в себя инструменты, призванные сократить время разработки и дополнительные API, которые программисты могут использовать для простого взаимодействия с такими сервисами как Windows Store. Вместо того чтобы вручную писать весь необходимый код для поддержки универсальной платформы Windows, можно воспользоваться .NET Framework:

Есть только один недостаток разработки приложений с использованием .NET Framework — их невозможно запустить, если .NET не установлен в вашей системе.

.NET Framework состоит из двух частей. Первая часть включает в себя набор заранее написанного кода (официально именуемого SDK, Dev Packs или «Пакеты разработчика»). Вторая часть включает в себя программу, которая может интерпретировать код .NET Framework в команды для операционной системы. Эта часть, которую называют «средой выполнения», позволяет запускать программы, написанные с использованием .NET Framework.

В этом отношении .NET Framework напоминает Java — для использования написанных на нём приложений необходимо скачать среду выполнения Java Runtime Environment.

Говоря кратко, зачем нужен Microsoft NET Framework: если вы простой пользователь, который не собирается заниматься программированием, вам потребуется только среда выполнения .NET Framework.

Установить данную платформу можно различными способами.

  • Установив операционную систему, пакет обновлений которой уже включает в себя эту платформу.
  • Скачать Net Framework  а затем установить. (Официальные ссылки у нас на сайте)
  • Установить в качестве дополнительного ПО при установке игры.
  • Автоматически установить, используя «Центр обновления Windows»

Бывают случаи: Что во время запуска игры или приложения на экране всплывает окно примерного содержания: «(имя приложения) требует наличие .НЕТ Фреймворк. Пожалуйста скачайте и установите Net Framework 3.5 или выше.» Что делает запуск данного приложения невозможным без этой платформы. Если у вас установлена Microsoft Net Framework 4.7, то это не означает что, вам не нужны более старые версии. Вам понадобится установить и Microsoft Net Framework 4 и предыдущие версии. Настоятельно рекомендуется установить все существующие касательно вашей операционной системы.

.NET Framework FAQ

What is .NET Framework used for?

.NET Framework is used to create and run software applications. .NET apps can run on many operating systems, using different implementations of .NET. .NET Framework is used for running .NET apps on Windows.

Who uses .NET Framework?

Software developers and the users of their applications both use .NET Framework:

  • Users of applications built with the .NET Framework need to have .NET Framework installed. In most cases, .NET Framework is already installed with Windows. If needed, you can download .NET Framework.
  • Software developers use .NET Framework to build many different types of applications—websites, services, desktop apps, and more with Visual Studio. Visual Studio is an integrated development environment (IDE) that provides development productivity tools and debugging capabilities. See the .NET customer showcase for examples of what people are building with .NET.

Why do I need .NET Framework?

You need .NET Framework installed to run applications on Windows that were created using .NET Framework. It’s already included in many versions of Windows. You only need to download and install .NET Framework if prompted to do so.

How does .NET Framework work?

.NET Framework applications are written in C#, F#, or Visual Basic and compiled to Common Intermediate Language (CIL). The Common Language Runtime (CLR) runs .NET applications on a given machine, converting the CIL to machine code. See for more info.

What are the main components/features of .NET Framework?

The two major components of .NET Framework are the Common Language Runtime (CLR) and the .NET Framework Class Library. The CLR is the execution engine that handles running applications. The Class Library provides a set of APIs and types for common functionality. See for more info.

What is the difference between .NET Core and .NET Framework?

.NET Core and .NET Framework share many of the same components and you can share code across the two. Some key differences include:

  • .NET Core is cross-platform and runs on Linux, macOS, and Windows. .NET Framework only runs on Windows.
  • .NET Core is open-source and accepts contributions from the community. The .NET Framework source code is available but doesn’t take direct contributions.
  • The majority of .NET innovation happens in .NET Core.
  • .NET Framework is included in Windows and automatically updated machine-wide by Windows Update. .NET Core is shipped independently.

See Choosing between .NET Core and .NET Framework for more details.

Can you have multiple .NET Frameworks installed?

Some versions of .NET Framework are installed side-by-side, while others will upgrade an existing version (known as an in-place update). In-place updates occur when two .NET Framework versions share the same CLR version.

For example, installing .NET Framework 4.8 on a machine with .NET Framework 4.7.2 and 3.5 installed will perform an in-place update of the 4.7.2 installation and leave 3.5 installed separately.

CLR version used by .NET Framework versions
.NET Framework version CLR version
.NET Framework 4.x 4.0
.NET Framework 2.x and 3.x 2.0
.NET Framework 1.1 1.1
.NET Framework 1.0 1.0

How much does .NET Framework cost?

.NET Framework is free, like the rest of the .NET platform. There are no fees or licensing costs, including for commercial use. See .NET is free for more details.

Which version of .NET Framework should I use?

In most cases, you should use the latest stable release. Currently, that’s .NET Framework 4.8 .

Applications that were created with any 4.x version of .NET Framework will run on .NET Framework 4.8 . To run an application that was created for an earlier version (for example, .NET Framework 3.5), you should install that version. See Download .NET Framework for a complete list.

What is the support policy for .NET Framework?

.NET Framework 4.8 is the latest version of .NET Framework and will continue to be distributed with future releases of Windows. As long as it is installed on a supported version of Windows, .NET Framework 4.8 will continue to also be supported.

.NET, .NET Framework, and .NET Core

.NET is a developer platform made up of tools, programming languages, and libraries for building many different types of applications.

There are various implementations of .NET. Each implementation allows .NET code to execute in different places—Linux, macOS, Windows, iOS, Android, and many more.

  1. .NET Framework is the original implementation of .NET. It supports running websites, services, desktop apps, and more on Windows.
  2. .NET Core is a cross-platform implementation for running websites, services, and console apps on Windows, Linux, and macOS. .NET Core is open source on GitHub.
  3. Xamarin/Mono is a .NET implementation for running apps on all the major mobile operating systems, including iOS and Android.

Supported target frameworks

A target framework is typically referenced by a TFM. The following table shows the target frameworks supported by the .NET SDK and the NuGet client. Equivalents are shown within brackets. For example, is an equivalent TFM to .

Target Framework TFM
.NET 5+ (and .NET Core) netcoreapp1.0netcoreapp1.1netcoreapp2.0netcoreapp2.1netcoreapp2.2netcoreapp3.0netcoreapp3.1net5.0*net6.0*
.NET Standard netstandard1.0netstandard1.1netstandard1.2netstandard1.3netstandard1.4netstandard1.5netstandard1.6netstandard2.0netstandard2.1
.NET Framework net11net20net35net40net403net45net451net452net46net461net462net47net471net472net48
Windows Store netcore netcore45 netcore451
.NET Micro Framework netmf
Silverlight sl4sl5
Windows Phone wp wp7wp75wp8wp81wpa81
Universal Windows Platform uap uap10.0

* .NET 5 and later TFMs include some operating system-specific variations. For more information, see the following section, .

.NET 5+ OS-specific TFMs

The and TFMs include technologies that work across different platforms. Specifying an OS-specific TFM makes APIs that are specific to an operating system available to your app, for example, Windows Forms or iOS bindings. OS-specific TFMs also inherit every API available to their base TFM, for example, the TFM.

.NET 5 introduced the OS-specific TFM, which includes Windows-specific bindings for WinForms, WPF, and UWP APIs. .NET 6 introduces further OS-specific TFMs.

The following table shows the compatibility of the .NET 5+ TFMs.

TFM Compatible with
net5.0 net1..4 (with NU1701 warning)netcoreapp1..3.1 (warning when WinForms or WPF is referenced)netstandard1..2.1
net5.0-windows netcoreapp1..3.1 (plus everything else inherited from )
net6.0 (subsequent version of )
net6.0-android (+everything else inherited from )
net6.0-ios (+everything else inherited from )
net6.0-macos (+everything else inherited from )
net6.0-maccatalyst (+everything else inherited from )
net6.0-tvos (+everything else inherited from )
net6.0-windows (subsequent version of )

To make your app portable across different platforms but still have access to OS-specific APIs, you can target multiple OS-specific TFMs and add platform guards around OS-specific API calls using preprocessor directives.

Suggested targets

Use these guidelines to determine which TFM to use in your app:

  • Apps that are portable to multiple platforms should target a base TFM, for example, . This includes most libraries but also ASP.NET Core and Entity Framework.

  • Platform-specific libraries should target platform-specific flavors. For example, WinForms and WPF projects should target or .

  • Cross-platform application models (Xamarin Forms, ASP.NET Core) and bridge packs (Xamarin Essentials) should at least target the base TFM, for example, , but might also target additional platform-specific flavors to light-up more APIs or features.

OS version in TFMs

You can also specify an optional OS version at the end of the TFM, for example, , which indicates what APIs are available to your app. (The corresponding .NET SDK will be updated to include support for newer OS versions as they are released.) To gain access to newly released APIs, increment the OS version in the TFM. You can still make your app compatible with earlier OS versions (and add guards around calls to later-version APIs) by adding the element to your project file. The element indicates the minimum OS version required to run your app.

For example, the following project file excerpt specifies that iOS 14 APIs are available to the app, but it can run on iOS 13 or later machines.

Latest versions

The following table defines the most common target frameworks, how they’re referenced, and which version of .NET Standard they implement. These target framework versions are the latest stable versions. Pre-release versions aren’t shown. A target framework moniker (TFM) is a standardized token format for specifying the target framework of a .NET app or library.

Target framework Latest stable version Target framework moniker (TFM) Implemented .NET Standard version
.NET 5 5.0 net5.0 N/A
.NET Standard 2.1 netstandard2.1 N/A
.NET Core 3.1 netcoreapp3.1 2.1
.NET Framework 4.8 net48 2.0

Приложение

Параметры командной строки

В следующей таблице перечислены параметры, которые можно использовать при связывании распространяемого пакета .NET Framework 4.5 с программой установки приложения.

Параметр Описание
/CEIPConsent Перезаписывает поведение по умолчанию и отправляет анонимные сведения об установке в корпорацию Microsoft для совершенствования процедуры развертывания в будущем. Этот параметр можно использовать, только если программа установки запрашивает согласие пользователя и только если пользователь разрешает отправлять анонимную статистку в корпорацию Microsoft.
/chainingpackage Указывает имя исполняемого файла, осуществляющего привязку. Эти сведения отправляются в корпорацию Microsoft в качестве анонимной статистики для совершенствования процедуры развертывания в будущем. Если в имени пакета присутствуют пробелы, в качестве разделителей необходимо использовать двойные кавычки (например, /chainingpackage «Lucerne Publishing» ). Пример привязываемого пакета см. в разделе Получение сведений о ходе выполнения из пакета установки.
/LCID где параметр задает код языка (список кодов см. на странице ). Устанавливает языковой пакет, определенный параметром , и обеспечивает принудительное отображение пользовательского интерфейса на этом языке (если не включен автоматический режим). Для веб-установщика этот параметр обеспечивает установку (привязку) языкового пакета из Интернета. Примечание. Используйте этот параметр только с веб-установщиком.
/log | Задает расположение файла журнала. Значение по умолчанию — временная папка для процесса, а имя файла по умолчанию основано на пакете. Если файл имеет расширение .txt, создается текстовый журнал. Если указано любое другое расширение или никакого расширения, создается журнал в формате HTML.
/msioptions Задает параметры для передачи элементам MSI и MSP; например: .
/norestart Запрещает программе установки автоматически перезагружать компьютер. При использовании этого параметра привязываемое приложение должно захватить код возврата и обработать перезагрузку (см. раздел Получение сведений о ходе выполнения из пакета установки).
/passive Задает пассивный режим. Отображает индикатор выполнения, чтобы показать, что установка выполняется, но не выводит никаких приглашений и сообщений об ошибках. В этом режиме, при объединении в цепочку с программой установки, привязываемый пакет должен обрабатывать .
/pipe Создает канал связи, чтобы привязываемый пакет мог получать информацию о ходе выполнения.
/promptrestart Только пассивный режим; если программе установки необходима перезагрузка, она выводит соответствующий запрос для пользователя. При использовании этого параметра требуется вмешательство пользователя, если необходима перезагрузка.
/q Включает автоматический режим.
/repair Включение функции исправления.
/serialdownload Обеспечивает, что установка происходит только после загрузки пакета.
/showfinalerror Задает пассивный режим. Отображает ошибки только в том случае, если установка не выполнена успешно. При использовании этого параметра в случае ошибки установки требуется вмешательство пользователя.
/showrmui Используется только с параметром /passive . Выводит окно сообщения, в котором пользователю предлагается закрыть работающие в данный момент приложения .NET Framework. Это окно сообщения ведет себя одинаково как в пассивном, так и не в пассивном режиме.
/uninstall Удаляет распространяемый пакет .NET Framework.

Поддерживаемые языки

В приведенной ниже таблице перечислены языковые пакеты .NET Framework, доступные для платформы .NET Framework 4.5 и более поздних версий.

LCID Язык — страна/регион culture
1025 Арабский — Саудовская Аравия ar
1028 Китайский (традиционное письмо) zh-Hant
1029 Чешский cs
1030 Датский da
1031 Немецкий (Германия) de
1032 Греческий el
1035 Финский fi
1036 Французский (Франция) fr
1037 Иврит he
1038 Венгерский hu
1040 Итальянский (Италия) it
1041 Японский ja
1042 Корейский ko
1043 Голландский (Нидерланды) nl
1044 Норвежский (Букмол) Нет
1045 Польский pl
1046 Португальский (Бразилия) pt-BR
1049 Русский ru
1053 Шведский sv
1055 Турецкий tr
2052 Китайский (упрощенное письмо) zh-Hans
2070 Португальский (Португалия) pt-PT
3082 Испанский (Испания, современная сортировка) es

Модели выполнения.

Приложения .NET запускают управляемый код в среде выполнения, известной как среда CLR.

CLR

.NET CLR — это кроссплатформенная среда выполнения, которая включает поддержку Windows, macOS и Linux. Среда CLR обрабатывает выделение памяти и управление ей. Среда CLR также является виртуальной машиной, которая не только выполняет приложения, но и создает, а также компилирует код с помощью JIT-компилятора.

Для получения дополнительной информации см. Common Language Runtime.

JIT-компилятор и промежуточный язык

Языки .NET более высокого уровня, например C#, компилируются до независимого от оборудования набора инструкций, который называется промежуточным языком (IL). При запуске приложений этот компилятор преобразует IL в машинный код, который понимает обработчик. JIT-компиляция происходит на том же компьютере, на котором будет выполняться код.

Так как JIT-компиляция происходит во время выполнения приложения, время компиляции является частью времени выполнения. Таким образом, JIT-компиляторы должны поддерживать баланс между временем оптимизации кода и экономии, к которой может привести результирующий код. Но JIT-компилятор знает фактическое оборудование и может освободить разработчиков от поставки различных реализаций для различных платформ.

JIT-компилятор .NET может выполнять многоуровневую компиляцию, что означает возможность перекомпиляции отдельных методов во время выполнения. Эта функция позволяет быстро компилировать, сохраняя при этом возможность создания высокоспециализированной версии кода для часто используемых методов.

Дополнительные сведения см. в статьях Управляемый процесс выполнения и .

Компилятор AOT

По умолчанию большинство рабочих нагрузок .NET являются JIT-компилятором, но .NET предлагает две формы компиляции на момент времени (AOT):

  • Для некоторых сценариев требуется 100-процентная компиляция AOT. Примером может служить iOS.
  • В других сценариях большая часть кода приложения компилируется с помощью AOT, но для некоторых частей используется JIT-компилятор. Некоторые шаблоны кода не распознаются AOT (например, универсальные шаблоны). Примером такой формы компиляции AOT является параметр публикации . Такая форма AOT позволяет использовать преимущества компиляции без ее недостатков.

Автоматическое управление памятью

Сборщик мусора (GC) управляет выделением и освобождением памяти для приложений. Каждый раз, когда код создает новый объект, среда CLR выделяет память для объекта из . Пока в управляемой куче есть доступное адресное пространство, среда выполнения продолжает выделять пространство для новых объектов. Когда остается недостаточное свободное пространство адресов, сборщик мусора проверяет наличие объектов в управляемой куче, которые больше не используются приложением. Затем эта память освобождается.

GC — это одна из служб CLR, которая помогает обеспечить безопасность памяти. Программа является безопасной по памяти, если она обращается только к выделенной памяти. Например, среда выполнения гарантирует, что приложение не обращается к невыделенной памяти за пределами границ массива.

Дополнительные сведения о сборке мусора см. в статьях Автоматическое управление памятью и Основы сборки мусора.

Работа с неуправляемыми ресурсами

Иногда код должен ссылаться на неуправляемые ресурсы. Неуправляемые ресурсы — это ресурсы, которые не обслуживаются средой выполнения .NET автоматически. Например, к неуправляемым ресурсам относятся дескрипторы файлов. Объект FileStream — управляемый, но он ссылается на дескриптор файла, который является неуправляемым ресурсом. После окончания работы с FileStream нужно явным образом освободить дескриптор файла.

В среде .NET объекты, которые ссылаются на неуправляемые ресурсы, реализуют интерфейс IDisposable. После окончания работы с объектом вызовите метод объекта, который отвечает за освобождение неуправляемых ресурсов. В языках .NET имеется удобная инструкция (C#, F#, VB), которая обеспечивает вызов метода .

Дополнительные сведения см. в разделе Очистка неуправляемых ресурсов.

Комментарии для версии 4.5 и более поздних версий

.NET Framework 4.5 — это обновление на месте, которое заменяет .NET Framework 4 на компьютере, и аналогично .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 4.5. Обновление на месте означает, что они используют ту же версию среды выполнения, но версии сборок обновлены и включают новые типы и члены. После установки одного из этих обновлений приложения .NET Framework 4, .NET Framework 4.5, .NET Framework 4.6 или .NET Framework 4.7 должны продолжать работу без повторной компиляции. Однако обратное неверно. Не рекомендуется запускать приложения, предназначенные для более поздней версии .NET Framework, в более ранней версии. Например, не рекомендуется запускать приложение, предназначенное для .NET Framework 4.6, на .NET Framework 4.5.

Применяются следующие правила.

  • В Visual Studio можно выбрать .NET Framework 4.5 в качестве целевой платформы для проекта (при этом задается свойство GetReferenceAssemblyPaths.TargetFrameworkMoniker), чтобы скомпилировать проект как сборку или исполняемый файл .NET Framework 4.5. Эту сборку или исполняемый файл можно использовать на любом компьютере, где установлена платформа .NET Framework 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2 или 4.8.

  • В Visual Studio можно выбрать .NET Framework 4.5.1 в качестве целевой платформы для проекта, чтобы скомпилировать проект как сборку или исполняемый файл .NET Framework 4.5.1. Запускайте эту сборку или исполняемый файл только на компьютерах, на которых установлен .NET Framework 4.5.1 или более поздней версии. Исполняемый файл с целевой платформой .NET Framework 4.5.1 будет заблокирован для выполнения на компьютере, где установлена только более ранняя версия .NET Framework, например .NET Framework 4.5. Пользователю будет предложено установить платформу .NET Framework 4.5.1. Кроме того, сборки .NET Framework 4.5.1 не должны вызываться из приложения, предназначенного для более ранней версии .NET Framework, такой как .NET Framework 4.5.

    Примечание

    Платформы .NET Framework 4.5.1 и .NET Framework 4.5 используются здесь только в качестве примеров. Этот принцип применяется к любому приложению, предназначенному для более поздней версии .NET Framework, чем установленная в системе, в которой оно выполняется.

Некоторые обновления в платформе .NET Framework могут потребовать изменения кода вашего приложения. Ознакомьтесь со статьей Совместимость приложений в .NET Framework, прежде чем запускать существующие приложения в .NET Framework 4.5 или более поздних версий. Дополнительные сведения об установке текущей версии см. в разделе Установка .NET Framework для разработчиков. Сведения о поддержке платформы .NET Framework см. на странице Официальная политика поддержки .NET Framework веб-сайта .NET.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector