Начало работы с .net framework

Комментарии для версии 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.

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

В этом разделе

Данные и моделирование. Здесь приводится информация о способах доступа к данным с использованием ADO.NET, LINQ, служб данных WCF и XML.

Разработка клиентских приложений с использованием .NET Framework. Здесь поясняются способы создания приложений Windows с помощью Windows Presentation Foundation (WPF) и Windows Forms.

Разработка веб-приложений с помощью ASP.NET. Здесь приводятся ссылки на сведения об использовании ASP.NET для сборки веб-приложений корпоративного уровня с минимальным объемом кода.

Разработка сервисно ориентированных приложений с помощью WCF. Здесь приводится описание способов использования Windows Communication Foundation (WCF) для сборки безопасных и надежных сервисно ориентированных приложений.

Создание рабочих процессов с помощью Windows Workflow Foundation Здесь приводятся сведения о модели программирования и средствах Windows Workflow Foundation (WF), а также примеры.

Приложения служб Windows. Здесь поясняется, как можно использовать Visual Studio и .NET Framework для создания приложения, которое устанавливается в качестве службы, а также запускать его, останавливать и иными способами управлять его поведением.

Параллельная обработка, параллелизм и асинхронное программирование в .NET. Здесь приводятся сведения о шаблонах разработки с применением управляемых потоков, параллельного программирования и асинхронного программирования.

Сетевое программирование в .NET Framework. Здесь приводится описание многоуровневой, расширяемой и управляемой реализации служб Интернета, которую можно быстро и легко интегрировать в приложения.

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

Безопасность. Сведения о классах и службах .NET Framework, предназначенных для упрощения разработки безопасных приложений.

Отладка, трассировка и профилирование. Здесь приводится описание способов тестирования, оптимизации и профилирования приложений .NET Framework и среды приложения. Информация, содержащаяся в этом разделе, предназначена как для администраторов, так и для разработчиков.

Разработка для нескольких платформ. Здесь поясняется, как можно использовать платформу .NET Framework для создания сборок, которые могут совместно использоваться несколькими платформами и устройствами, такими как телефоны, настольные системы и интернет-устройства.

Развертывание. Здесь поясняется порядок упаковки и распространения приложения .NET Framework; сюда также включены руководства по развертыванию как для разработчиков, так и для администраторов.

Производительность. Здесь приводятся сведения о кэшировании, отложенной инициализации, надежности и событиях трассировки событий Windows.

Связанные разделы

Начало работы. Здесь содержится комплексный обзор платформы .NET Framework и ссылки на дополнительные ресурсы.

Новые возможности. Здесь приводится описание ключевых новых возможностей и изменений в последней версии .NET Framework. Сюда включены списки новых и устаревших типов и членов; также здесь приводится руководство по переносу приложений из предыдущей версии .NET Framework.

Инструменты. Инструменты, описанные в этом разделе, помогут в разработке, настройке и развертывании приложений с помощью технологий .NET Framework.

Примеры и руководства .NET. Предоставляет ссылки на примеры и руководства для изучения .NET.

Аппаратно-программные требования

  • ОС Windows от ХР SP3 до 10;
  • архитектура х32,64,86, ia64;
  • процессор от 1 ГГц;
  • ОЗУ от 512 МБ;
  • место на ПЗУ от 850 МБ.

Обратите внимание, что для архитектуры х32 подходит пакет .NET Framework 3.5, тогда как для х64,86 и ia64 — необходима (либо желательна) четвертая версия

Также важно понимать, что в случае с .NET Framework 4 для архитектуры x86 нужно 850 МБ места на жестком диске, тогда как архитектура x64 предполагает уже 2 ГБ свободного пространства на ПЗУ Вашего ПК

Если Вы решили скачать .НЕТ Фреймворк для последней версии операционной системы Windows, Вам стоит знать следующее. Для Windows 10 может потребоваться установка нескольких версий Framework в случае, если Вы решили работать с рядом старых приложений, которым нет современной альтернативы.

На нашем сайте Вы найдете любую нужную Вам версию данного .NET Framework, включая самую последнюю. Мы размещаем только официальные версии программ, следим за обновлениями ПО и безопасностью файлов на нашем сервере. На этой странице размещена бесплатная официальная русская версия ПО, скачать которую Вы можете без утомительной регистрации. Установка клиентского профиля программной платформы .NET Framework не вызовет затруднений: Вам достаточно следовать инструкции Мастера установки ПО в Windows.

.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.

Возможности среды CLR

Среда CLR управляет памятью, выполнением потоков, выполнением кода, проверкой безопасности кода, компиляцией и другими системными службами. Эти средства являются внутренними для управляемого кода, который выполняется в среде CLR.

По соображениям безопасности управляемым компонентам присваиваются разные степени доверия, зависящие от ряда факторов, в число которых входит их происхождение (например, Интернет, сеть предприятия или локальный компьютер). Это означает, что управляемый компонент может или не может выполнять операции доступа к файлам, операции доступа к реестру или другие важные функции, даже если он используется в одном и том же активном приложении.

Среда выполнения также обеспечивает надежность кода, реализуя инфраструктуру строгой типизации и проверки кода, которую называют системой общих типов (CTS). Система общих типов обеспечивает самоописание всего управляемого кода. Различные языковые компиляторы корпорации Microsoft и независимых изготовителей создают управляемый код, удовлетворяющий системе общих типов . Это означает, что управляемый код может принимать другие управляемые типы и экземпляры, при этом обеспечивая правильность типов и строгую типизацию.

Кроме того, управляемая среда выполнения исключает многие часто возникающие проблемы с программным обеспечением. Например, среда выполнения автоматически управляет размещением объектов и ссылками на объекты, освобождая их, когда они больше не используются. Автоматическое управление памятью исключает две наиболее часто возникающие ошибки приложений: утечки памяти и недействительные ссылки на память.

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

Хотя среда выполнения разрабатывалась для будущего программного обеспечения, она также поддерживает сегодняшнее и вчерашнее программное обеспечение. Взаимодействие управляемого и неуправляемого кодов позволяет разработчикам использовать необходимые компоненты COM и библиотеки DLL.

Среда выполнения разработана для повышения производительности. Хотя общеязыковая среда выполнения предоставляет многие стандартные службы времени выполнения, управляемый код никогда не интерпретируется. Средство компиляции по требованию (JIT) позволяет выполнять весь управляемый код на машинном языке компьютера, где он запускается. Между тем диспетчер памяти устраняет возможность фрагментации памяти и увеличивает объем адресуемой памяти для дополнительного повышения производительности.

Наконец, среда выполнения может размещаться в высокопроизводительных серверных приложениях, таких как Microsoft SQL Server и службы IIS (Internet Information Services). Такая инфраструктура позволяет использовать управляемый код для написания собственной логики программ, пользуясь при этом высочайшей производительностью лучших производственных серверов, которые поддерживают размещение среды выполнения.

Framework это что?

Фреймворк — это структура, на базе которой можно создать конечный продукт. Это проще, чем писать весь код с нуля.

Проведем аналогию с домом. Если вы хотите его построить, то можно закупить материалы и делать все самостоятельно, набивая шишки. А можно скачать в интернете готовый план постройки. Конечно, вы все еще можете набить шишки, когда будете клеить обои и выбирать мебель. Но, по крайней мере, фундамент, стены, крыша и канализационная система точно будут в порядке. Потому что то, как их строить, прописано в плане постройки.

Framework — это тот самый план постройки продукта для разработчиков.

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

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

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

Приложение

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

В следующей таблице перечислены параметры, которые можно использовать при связывании распространяемого пакета .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, .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.

Связанные статьи

Заголовок Описание
Обзор Содержит подробные сведения для разработчиков, которые занимаются созданием приложений, предназначенных для платформы .NET Framework.
Руководство по установке Содержит сведения об установке платформы .NET Framework.
.NET Framework и внештатные выпуски Содержит описание внештатных выпусков платформы .NET Framework и порядка их использования в приложении.
Требования к системе Содержит требования к оборудованию и операционной системе для использования платформы .NET Framework.
Документация по .NET Core Концептуальная и справочная документация по API для .NET Core.
.NET Standard Описывает стандарт .NET Standard, который представляет собой спецификацию с возможностью управления версиями, поддерживаемую отдельными реализациями платформы .NET, что позволяет гарантировать наличие согласованного набора API-интерфейсов на различных платформах.

Выберите и установите нужные Вам версии XP, 7, 8,10

Microsoft .NET Framework 1.0

Скачать Microsoft .NET Framework 1.0 для Windows 32/64 бит

Microsoft .NET Framework 1.1

Скачать Microsoft .NET Framework 1.1 для Windows 32/64 бит

Microsoft .NET Framework 2.0

Скачать Microsoft .NET Framework 2.0 для Windows 32 бит

Скачать Microsoft .NET Framework 2.0 для Windows 64 бит

Microsoft .NET Framework 3.0

Скачать Microsoft .NET Framework 3.0 для Windows 32/64 бит

Microsoft .NET Framework 3.5 (обязательная)

Скачать Microsoft .NET Framework 3.5 для Windows 32/64 бит

Microsoft .NET Framework 4.0

Скачать Microsoft .NET Framework 4.0 для Windows 32/64 бит

Microsoft .NET Framework 4.5

Скачать Microsoft .NET Framework 4.5 для Windows 32/64 бит

Microsoft .NET Framework 4.5.1

Скачать Microsoft .NET Framework 4.5.1 для Windows 32/64 бит

Microsoft .NET Framework 4.5.2

Скачать Microsoft .NET Framework 4.5.2 для Windows 32/64 бит

Microsoft .NET Framework 4.6

Скачать Microsoft .NET Framework 4.6 для Windows 32/64 бит

Microsoft .NET Framework 4.6.1

Скачать Microsoft .NET Framework 4.6.1 для Windows 32/64 бит

Microsoft .NET Framework 4.6.2

Скачать Microsoft .NET Framework 4.6.2 для Windows 32/64 бит

Microsoft .NET Framework 4.7

Скачать Microsoft .NET Framework 4.7 для Windows 32/64 бит

Microsoft .NET Framework 4.7.1

Скачать Microsoft .NET Framework 4.7.1 для Windows 32/64 бит

Microsoft .NET Framework 4.8

Скачать Microsoft .NET Framework 4.8 для Windows 32/64 бит

Microsoft .NET Framework 4 (веб-установщик, последняя версия, обязательная) 

Скачать Microsoft .NET Framework 4 для Windows 32/64 бит

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

Приложения .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), которая обеспечивает вызов метода .

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

Features of the common language runtime

The common language runtime manages memory, thread execution, code execution, code safety verification, compilation, and other system services. These features are intrinsic to the managed code that runs on the common language runtime.

Regarding security, managed components are awarded varying degrees of trust, depending on a number of factors that include their origin (such as the Internet, enterprise network, or local computer). This means that a managed component might or might not be able to perform file-access operations, registry-access operations, or other sensitive functions, even if it’s used in the same active app.

The runtime also enforces code robustness by implementing a strict type-and-code-verification infrastructure called the common type system (CTS). The CTS ensures that all managed code is self-describing. The various Microsoft and third-party language compilers generate managed code that conforms to the CTS. This means that managed code can consume other managed types and instances, while strictly enforcing type fidelity and type safety.

In addition, the managed environment of the runtime eliminates many common software issues. For example, the runtime automatically handles object layout and manages references to objects, releasing them when they are no longer being used. This automatic memory management resolves the two most common app errors, memory leaks and invalid memory references.

The runtime also accelerates developer productivity. For example, programmers write apps in their development language of choice yet take full advantage of the runtime, the class library, and components written in other languages by other developers. Any compiler vendor who chooses to target the runtime can do so. Language compilers that target the .NET Framework make the features of the .NET Framework available to existing code written in that language, greatly easing the migration process for existing apps.

While the runtime is designed for the software of the future, it also supports software of today and yesterday. Interoperability between managed and unmanaged code enables developers to continue to use necessary COM components and DLLs.

The runtime is designed to enhance performance. Although the common language runtime provides many standard runtime services, managed code is never interpreted. A feature called just-in-time (JIT) compiling enables all managed code to run in the native machine language of the system on which it’s executing. Meanwhile, the memory manager removes the possibilities of fragmented memory and increases memory locality-of-reference to further increase performance.

Finally, the runtime can be hosted by high-performance, server-side apps, such as Microsoft SQL Server and Internet Information Services (IIS). This infrastructure enables you to use managed code to write your business logic, while still enjoying the superior performance of the industry’s best enterprise servers that support runtime hosting.

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

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

Adblock
detector