За что отвечает программа net framework

Доброго времени суток, друзья. Наверняка, почти каждый владелец компьютера с установленной операционной системой Windows, активно использующий свой ПК или ноутбук в работе, учёбе, играх и развлечениях, хоть раз да сталкивался с ошибками, возникающими при запуске или при работе различных программ и игр. Иногда ошибки могут выскакивать уже на этапе загрузки операционной системы, такие ошибки при включении компьютера свидетельствуют о некорректной работе, как минимум, одной из программ, находящихся в автозагрузке Windows.
Вариантов возможных ошибок, конечно, существует огромное множество, собственно, как и способов их устранения, но в данном цикле статей мы хотели бы уделить особое внимание ошибкам, вызванным нестабильной работой различных компонентов системы Windows, а именно: .NET Framework, Microsoft Visual C++ (или, сокращённо, MSVC) и DirectX.

Эти три набора исполняемых библиотек используются во всех современных операционных системах Windows: будь то уже доживающая свой век, лишённая поддержки Microsoft, Windows XP; не получившая широкого распространения и признанная разработчиком неудачной, Windows Vista; имеющая самую высокую популярность на сегодняшний день Windows 7; или последние версии продуктов от Мелкомягких (как многие зовут Microsoft в рунете), отражающие тенденции развития современной IT-индустрии, Windows 8/8.1 и Windows 10.

Microsoft .NET Framework -Explained

Давайте рассмотрим поближе каждый из этих пакетов, но не с точки зрения программистов и разработчиков ПО, а с позиции простых пользователей. Темой данной статьи будет .NET Framework

Программная платформа .NET Framework

Фраза «Программная платформа» в заголовке этой части статьи уже частично даёт нам ответ на вопрос «Что такое .NET Framework?»:

.NET Framework — это среда исполнения программных компонентов, определяющая базовые правила выполнения программы в операционной системе

Как же диагностировать проблемы в работе этого компонента системы и определить, что эта программная платформа выполняет свои обязанности некорректно?

Ошибки .NET Framework при запуске программ и игр

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

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

Ошибка .Net Framework 4

А это другой вариант ошибки, свидетельствующий о нехватке .NET Framework 3.5

Ошибка .NET Framework 3.5

Как видите, в подобных ситуациях особых проблем в определении виновника неработоспособности программы возникнуть не должно. Хотя, конечно, так выходит не всегда.

Что такое .Net Framework?

Узнать, какие версии .NET Framework установлены на компьютере

Начиная разговор о версиях данного ПО, следует обозначить один важный момент:

Каждая последующая версия платформы .NET Framework не включает в себя библиотеки предыдущих выпусков

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

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

Так как же узнать, какие версии имеются в системе, а каких недостаёт, ещё до того, как начнут появляться ошибки подобные приведённым выше.

Для простоты восприятия выделим два основных способа определения версий установленного пакета .NET Framework:

  • первый — при помощи специальной утилиты с графическим интерфейсом;
  • второй — по записям в системном реестре Windows.

Определение установленных версий .NET Framework с помощью утилиты

Бельгийская компания ASoft, занимающаяся разработкой ПО, думает не только о себе. Фирма поделилась с общественностью своей наработкой: утилитой с названием ASoft .NET Version Detector, целью которой является вывод информации об установленных в системе версиях пакета .NET Framework и, при необходимости, установка недостающих версий.

Последнюю актуальную версию утилиты всегда можно скачать на официальном сайте разработчика, на данный момент это версия 16 R2, архив которой и предлагаем вам скачать из прикреплённого файла: ASoft .NET Version Detector. Проверить наличие новой версии программы можно из её же меню, нажав в верхней панели меню пункт Help — New version?

Программа портативная (portable), работает в виде одного исполнительного файла и запускается из любого каталога, подключенного к компьютеру (он может быть расположен и на жестком диске, и, к примеру, на съёмном накопителе), не требует установки.

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

ASoft .Net Version Detector 16 R2

Интерфейс программы прост.

На красном, зелёном и фиолетовом фоне вы можете увидеть возможные версии пакета, цветами сгруппированы версии, относящиеся к разным CLR (среда разработки Common Language Runtime): 1.0 , 1.1 , 2.0 , 3.0 , 3.5 , 4.0 и 4.6.2 . Номера тех версий из них, которые установлены в системе на данный момент , с указанием сервис паков (номеров пакетов крупных обновлений, service pack) выделены белым шрифтом. В примере выше это версии 2.0 sp2 , 3.0 sp2 , 3.5 sp1 и 4.6.2 . Серым шрифтом, соответственно, выделяются неустановленные версии, либо неактуальные: 1.0 , 1.1 , 4.0 (в примере выше версия 4.0 неактуальна, она обновлена до версии 4.6.2 ).

Левее есть блок с повторяющейся иконкой Microsoft .NET

Microsot .NET

Если нажать на одну из этих иконок, то у вас откроется окно проводника с каталогом установки .NET Framework, по умолчанию это путь:

C:WindowsMicrosoft.NETFramework

Слева от каждой актуальной версии есть две кнопки с изображением стрелок:

  • кликнув на зелёную стрелку вы попадёте на страницу сайта Microsoft со ссылкой для скачивания этой самой версии .NET Framework;
  • кликнув на фиолетовую стрелку — попадёте на страницу сайта Microsoft со ссылкой для скачивания SDK (полного комплекта средств разработки) соответствующей версии.

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

Определение установленных версий .NET Framework по записям в системном реестре Windows

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

Открываем редактор реестра Windows

  • Запускаем утилиту Выполнить перейдя в Пуск — Все программы — Стандартные (в Windows 10 утилита Выполнить находится в каталоге Служебные), либо зажав на клавиатуре клавиши Пуск (на некоторых клавиатурах она отмечается как Win) и R
  • В открывшемся окне вбиваем команду

regedit

В редакторе реестра переходим в следующую ветку:

HKEY_LOCAL_MACHINESOFTWAREMicrosoftNET Framework SetupNDP

.NET Framework в редакторе реестра regedit

На примере со скриншота выше мы видим, что в системе установлены только две версии: 4.0 (ветка с названием 4.0) и 4.6.2 (ветка 4Client, параметр Version, значение 4.6.01586). В этом нет ничего страшного, для Windows 10 (с которой и снят последний скрин) это вполне нормально. Если каких-то версий будет недоставать для конкретных программ, то мы их обязательно установим. Но об этом поговорим ниже.

Читайте также:
Как 1с перенести с одного компа на другой саму программу

Какие версии .NET Framework устанавливать

На сегодняшний день можно выделить 12 основных версий выпуска Framework, включая наиболее крупные обновления.

В таблице ниже приведены соответствия версий .NET Framework и выпусков операционной системы Windows

Соответствие поддерживаемых версий .NET Framework в ОС Windows

*плюсом напротив каждого выпуска ОС Windows помечены поддерживаемые версии Framework
**зелёным цветом выделены версии Framework, интегрированные в распространяемые копии соответствующих выпусков ОС Windows
***.NET Framework 4.6.1 поставляется только в Windows 10, начиная с Version 1511

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

.NET Framework 1.1 заменяет версию 1.0
.NET Framework 3.0 заменяет версию 2.0
.NET Framework 3.5 заменяет версии 2.0 и 3.0
.NET Framework 4.5 заменяет версию 4.0
.NET Framework 4.5.1 заменяет версии 4.0 и 4.5
.NET Framework 4.5.2 заменяет версии с 4.0 по 4.5.1
.NET Framework 4.6 заменяет версии с 4.0 по 4.5.2
.NET Framework 4.6.1 заменяет версии с 4.0 по 4.6
.NET Framework 4.6.2 заменяет версии с 4.0 по 4.6.1

*подчёркиваю: версия 3.5 НЕ заменяет версию 1.0 и 1.1; версии 4.0 и все последующие НЕ заменяют версии 1.0, 1.1, 2.0, 3.0 и 3.5!

Т.е., в принципе, для полного комплекта на ОС Windows, начиная с Windows 7 , могут быть установлены .NET Framework 3.5 и .NET Framework 4.6.2. В остальных версиях нет смысла, они будут заменяться свежими выпусками.

На ОС Windows XP же имеет смысл устанавливать .NET Framework 1.1 (если это действительно необходимо), .NET Framework 3.5 и .NET Framework 4.0. Думаю, это ясно.

Варианты установочных файлов .NET Framework

Если вы задаётесь вопросом «Как установить .NET Framework на компьютер?», то у вас есть два варианта:

  • Установка .NET Framework через online-установщик, ещё его называют web-установщик ( небольшого размера исполнительный файл, который в процессе установки пакета .NET подключается через интернет к серверам Microsoft и выкачивает оттуда весь объём необходимых данных )
  • Установка .NET Framework через offline-установщик или автономный установщик ( автономный исполнительный файл, содержащий в себе все необходимые данные, не требующий для установки подключения к сети интернет, но оттого имеющий значительный вес, размер )

Напомню, что очень просто получить ссылку для скачивания через утилиту ASoft .NET Version Detector, которая, при нажатии на иконку со стрелкой, сама откроет браузер со страницей загрузки автономного offline-установщика выбранной вами версии пакета .NET Framework на официальном сайте Microsoft

Возможные ошибки при установке .NET Framework и способы их решения

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

Ошибка установки .NET Framework

Первый способ решить проблемы установки Framework — воспользоваться утилитой от разработчика: Microsoft .NET Framework Repair Tool

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

Microsoft .Net Framework Repair Tool

Если после всех попыток исправления ошибок проблема не пропадёт, то Repair Tool предложит вам отправить отчёт в компанию Microsoft для поиска решения.

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

Как удалить .NET Framework

Удалить пакет .NET можно как в полуавтоматическом/ручном режиме, так и в автоматическом, при помощи специальной утилиты.

Ручной способ удаления .NET Framework

Microsoft Fixit Program Install Uninstall

  1. Для начала из меню Пуск заходим в Панель управления Windows и открываем пункт Удаление программы (в режиме Категорий ) или Программы и компоненты (в режиме отображения значков )
  2. Здесь нам надо удалить все строки, в которых встречается что-то связанное с .NET или с Framework
  3. После ручного удаления скачиваем версию Microsoft Fixit Program Install Uninstall для устранения неполадок, связанных с установкой и удалением программ
  4. Запускаем исполнительный файл из сохранённого архива, принимаем соглашение и в открывшемся окне выбираем рекомендованный пункт Выявить проблемы и установить исправления (рекомендуется)
  5. Если после анализа системы появились пункты с .NET Framework, то выбираем их и пытаемся исправить, делая это столько раз, сколько проблем было обнаружено, вновь запуская Fixit после исправления проблемы. Если таковые не обнаружились, либо все уже исправлены, а ошибки установки библиотек остались, то указываем пункт Нет в списке и повторяем процедуру устранения неполадок
  6. После проведённой процедуры удаления и устранения неполадок повторить попытку установки платформы .NET Framework

Автоматический способ удаления .NET Framework

Этот способ быстрее и проще предыдущего, поэтому он последний в списке по очерёдности, но никак не по доступности или действенности.

.NET Framework Setup Cleanup Utility

  1. Скачиваем архив утилиты .NET Framework Cleanup Tool и запускаем исполнительный файл из этого архива
  2. Принимаем соглашение
  3. В открывшемся окошке выбираем версию .NET Framework для удаления (советую вам сразу выбирать пункт All Versions)
  4. Нажимаем кнопку Cleanup Now
  5. После завершения процесса удаления повторить попытку установки платформы .NET Framework

На этом всё. Надеюсь, после прочтения данной статьи, проблемы с пакетом .NET Framework , в случае возникновения, больше не будут вас всерьёз тревожить .

Источник: miradmin.ru

Что такое .NET Framework

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

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

Framework – это коллекция так называемых API (application programming interfaces) и библиотека общего кода, который разработчики могут использовать при создании своих приложений. Такие фреймворки или библиотеки экономят время и усилия, поскольку избавляют разработчика от необходимости писать уже существующий код с нуля. В NET Framework базовая библиотека кода называется Framework Class Library (FCL). С ее помощью приложение может выполнять самые разнообразные функции.

Net framework

В .NET Framework заложены десятки тысяч строк кода, который существенно облегчает жизнь разработчикам. Считайте это такой страховкой от необходимости заново изобретать колесо. Вместо того, чтобы тратить время на написание традиционных и общих элементов приложения, разработчик может взять готовый код и затем сосредоточить свои усилия на действительно уникальных аспектах своего проекта. Кроме того, благодаря .NET Framework между приложениями установлена условная стандартизация. Таким образом часть общих функций будет работать одинаково в различных приложениях, и пользователь будет понимать, что «Открыть» или «Сохранить как» будет работать как положено, что в одном, что в другом приложении.

Читайте также:
Инфографика в какой программе лучше делать

NET Framework также выполняет роль среды исполнения. Среда исполнения — это словно некая виртуальная машина или песочница, в котором приложение работает. В .NET эта среда называется Common Language Runtime. Когда пользователь запускает приложение, его код компилируется в машинный код внутри среды исполнения, после чего собственно и исполняется.

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

Портативность – один из самых больших плюсов использования среды исполнения. Разработчик может написать код с использованием любого из поддерживаемых языков, вроде C#, C++, Visual Basic и так далее. Этот код будет работать на любом железе, которое поддерживает .NET. Хотя платформа была создана с целью работать на разном железе (не только на Windows-компьютерах), проприетарная натура .NET Framework привела к тому, что его используют только в Windows-приложениях.

Чтобы исправить это, Microsoft создала другие версии .NET. Mono – бесплатный open-source проект, созданный обеспечить совместимость между .NET-приложениями и другими платформами, в особенности Linux. .NET Core – такой же бесплатный фреймворк с открытым исходным кодом, благодаря которому разработчики могу перенести легкие модульные приложения на другие ОС. Core поддерживает macOS, Linux и Windows, включая универсальные приложения Windows.

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

Как установить .NET Framework

За время своего существования вышло несколько версий .NET Framework. Зачастую самые новые версии .NET уже включены в состав актуальной Windows. В этом вы можете убедиться сами, попробовав установить .NET Framework 4.7 на компьютер с Windows 10. Система сообщит, что фреймфорк уже является частью самой операционной системы.

.NET создан таким образом, чтобы обеспечить программам обратную совместимость. Иными словами, приложение, которому нужна версия .NET Framework 2, будет работать с .NET Framework 3. Часто же бывает так, что приложение не может корректно работать с более новыми версиями фреймворка, поэтому вы можете увидеть несколько версий .NET на своем компьютере, либо же система попросит вас установить старый компонент при первом запуске игры / приложения.

С выходом Windows 8 появился .NET Framework 4. Этот набор уже не был обратно совместим, но нормально уживается на одном ПК с параллельно установленным .NET 3.5 (пришел с Windows Vista), обеспечивающим обратную совместимость. Windows сама управляет всеми процессами установки .NET, поэтому пользователю фактически не надо ничего скачивать или устанавливать.

Windows 10 включает в себя .NET Framework 3.5 и .NET Framework 4.7 (Windows 10 Fall Creators Update). Они активируются в тот момент, как только первое приложение сообщит системе о необходимости во фреймворке. Вы можете включить их и вручную из интерфейса «Компоненты Windows» (см. «Что такое компоненты Windows и какие из них можно отключить»).

Хотя надо сказать, что нет никакого смысла делать это, поскольку система сама сделает все за вас. Здесь надо отметить, что иногда система не может установить .NET Framework 3.5 из-за проблем в работе центра обновлений или других багов. В таком случае надо установить .NET Framework 3.5 в Windows 10 вручную.

Проблемы с .NET Framework

На современных версиях Windows существует очень малая вероятность того, что вы встретитесь с определенными проблемами в работе .NET. На старых Windows, вроде Windows XP / Vista, пользователям иногда приходилось удалять и заново устанавливать фреймворк, чтобы заставить приложение работать и внимательно следить за тем, чтобы установилась именно та версия, которая нужна приложений. Все это уже ушло в прошлое.

Если же что-то работает не так как надо и вы подозреваете .NET (что очень маловероятно), есть несколько шагов, которые можно предпринять, чтобы попытаться исправить неполадки.

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

Второй вариант – «удалить» и вернуть обратно поддерживаемые фреймворки. Нажмите Win + R и введите optionalfeatures. В появившемся окошке снимите отметки возле .NET всех версий, перезагрузите компьютер и затем активируйте их обратно.

Windows Optional Features

Третий вариант – проверить файлы Windows на целостность. Об этом описано в статье «Как исправить ошибки Windows».

Если ни один из вышеперечисленных вариантов не помог, попробуйте воспользоваться утилитой .NET Framework Repair Tool. Она поддерживает все актуальные версии фрейморка и позволяет проверить и исправить ошибки в .NET.

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

Автор поста

Источник: wp-seven.ru

Введение в платформу .NET Framework и ASP.NET

Аннотация: Эта лекция содержит общие сведения о платформе .NET Framework и ASP.NET. В ней расскрываются особенности платформы с точки зрения разработки и функционирования приложений.

Что такое .NET Framework?

Microsoft . NET Framework – мощная платформа для построения приложений. Первые упоминания о. NET Framework появились в конце 90-х годов, когда компания Microsoft объявила о своей намеренности работать над этой платформой (в то время этот продукт именовался Next Generation Windows Services – NGWS).

После выпуска бета-версии NGWS, в 2000 году была выпущена первая бета-версия . NET Framework 1.0. Финальная версия . NET 1.0 вышла только в январе 2002 года. После этого, в апреле 2003 года, появился . NET 1.1, затем в ноябре 2005 года – 2.0. Через год, в ноябре 2006 года, появился ряд библиотек (под общим названием WinFX), расширяющий возможности . NET 2.0, который впоследствии стал называться . NET 3.0.

Через год после этого, в ноябре 2007 года, была выпущена версия . NET 3.5, а в августе 2008 года – ряд обновлений, которые получили название . NET 3.5 SP1. Эта версия . NET Framework остается актуальной и на сегодняшний день, а выход следующей версии . NET 4.0 запланирован на весну 2010 года. Из приведенной выше схемы видно, что версии . NET 3.0, . NET 3.5 и . NET 3.5 SP1 работают в рамки одной среды исполнения (из . NET 2.0) и просто увеличивают функциональность всей платформы за счет добавления новых библиотек. При этом . NET 1.0, . NET 1.1, . NET 2.0 и . NET 4.0 имеют различную среду исполнения.

Что же такое . NET Framework? Одной из основных идей . NET Framework является совместимость программного кода написанного на различных языках программирования. Так, например, в рамках идеологии . NET Framework приложение , разрабатываемое на языке программирования C#, может с легкостью использовать программный код, который разработан на основе Visual Basic . NET . Точно также программный код на Visual Basic . NET может использовать программный код на Delphi . NET и т.д.

Также . NET Framework решает проблему совместимости версий библиотек. Каждая библиотека . NET ( сборка , assembly) содержит сведения о своем имени и версии. Из этой информации складывается строгое имя сборки. Таким образом, когда из одной сборки делается ссылка на другую сборку, указывается не только имя этой сборки, но и её версия. Такой подход позволяет устранить возможные конфликты между разными версиями сборок.

Читайте также:
Как сделать рассадку гостей на свадьбе своими руками программа

При компиляции приложений . NET на выходе получается не исполняемый машинный код, а промежуточный код на специальном языке, который называется MSIL (Microsoft Intermediate Language ) или просто IL ( Intermediate Language ). Своим внешним видом MSIL напоминает язык Ассемблера, но является более высокоуровневым и по своей природе является объектно-ориентированным. Давайте рассмотрим следующий пример: мы создадим консольное приложение и напишем элементарный код для вывода строки на консоль .

После этого, из полученной сборки получим код на языке IL (путем дизассемблирования). Это можно сделать при помощи утилиты Ildasm.exe, которая поставляется в составе . NET Framework. Код на языке IL для приведенной выше программы будет выглядеть следующим образом.

Такой подход, при котором компиляция осуществляется не в машинный код (в виде инструкций центральному процессору), а в код на промежуточном языке программирования решает несколько задач. Во-первых он позволяет организовать процесс разработки одного и того же приложения одновременно на нескольких языках программирования.

Это означает, что в одном проекте может содержаться код на различных языках программирования. Поскольку существует промежуточный язык IL, то код, который получается на этом языке программирования, теоретически не зависит от исходного языка программирования.

Второй задачей, которую решает этот подход, является возможность создавать приложения независящие от разрядности операционной системы (32 бита или 64 бита). Как известно, системы команд 32- и 64-разрядных операционных систем имеют свои особенности. По этой причине разработчики программного обеспечения вынуждены создавать две версии приложения.

Приложения на базе . NET Framework не нуждаются в этом, поскольку промежуточный код компилируется в машинные инструкции в момент первого запуска («на лету») и может адаптироваться к той системе команд, которая используется в данный момент (см. ниже). Наконец, третья задача, которую решает приведенный подход – это теоретическая возможность запускать программный код, без перекомпиляции на разных платформах. Это означает, что исполняемый файл содержит только код на промежуточном языке, который может быть преобразован в машинный код для той платформы, на которой он исполняется в данный момент. Таким образом, тот же самый исполняемый файл можно запустить не только в операционной системе Windows , но и, например, в Linux или MAC OS X.Для этого существует отдельный проект, поддерживаемый компанией Novel, который называется Mono.

Идеология . NET Framework способствует внедрению новых языков программирования в общую инфраструктуру, поскольку разработчику этого языка программирования нужно лишь позаботиться о трансформации языковых конструкций в язык IL – все остальное сделает среда исполнения. Благодаря этому в последнее время появляется огромное количество языков программирования для платформы . NET – F#, Boo, IronPython, IronRuby, Haskell, Nemerle, JScript. NET и др.

Кроме этого, . NET Framework содержит огромный набор классов, реализующих различную базовую функциональность. Этот набор классов называется Framework Class Library ( FCL ) и поставляется совместно с . NET Framework. В рамках BCL реализована базовая функциональность, которая нужна буквально в каждом приложении (работа со строками, числами, массивами, коллекциями, файлами, графикой, сетевыми подключениями, XML , СУБД и т.д.). Вся функциональность BCL доступна в рамках программного кода независимо от того, какой язык программирования используется в данный момент.

Работа приложений . NET обеспечивается за счет наличия такого механизма как общеязыковая среда исполнения (Common Language Runtime, CLR ). Общеязыковая среда исполнения позволяет запускать приложения . NET на разных платформах. В момент запуска приложения происходит преобразование кода IL приложения в соответствии с теми машинными инструкциями, где это приложение запускается. Этот процесс называется «компиляцией на лету» ( just-in-time ). После компиляции кода IL в машинный код, последний сохраняется в системных временных папках для последующего запуска и используется вплоть до того времени, пока исходный код IL не изменится. Более подробные сведения о компиляции приложений . NET содержаться в следующей лекции » Компиляция приложений . NET «.

Другой важной особенностью среды исполнения . NET Framework является наличие встроенного механизма сборки мусора ( Garbage Collector ). Этот механизм берет на себя заботы по удалению из памяти тех объектов, которые использовались ранее и в данный момент не нужны. Традиционно, забота по освобождению памяти от ненужных данных ложилась на плечи разработчиков приложений и в некоторых ситуациях несли в себе серьезные трудности.

Для этого в языки программирования были встроены специальные операторы (например, такие как delete в C++). Если разработчик забывал удалить какие-либо ненужные объекты происходила утечка памяти, т.е. складывалась ситуация, когда приложению уже не требуется какой-либо участок памяти в операционной системе, но он остается занятым вплоть до завершения работы приложения. Подобные ошибки разработчика могут быть достаточно легко допущены в процессе разработки приложения, но обнаружить их крайне трудно. Более того, в этой ситуации разработчики вынуждены каждый раз заботится об очистке памяти, вместо того, чтобы думать над логикой приложения.

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

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

Давайте рассмотрим несколько примеров. В следующем примере создается новый объект Array , который будет удален при выходе из метода CreatePerson .

В этом примере объект Array будет удален в середине выполнения метода, поскольку переменной list присвоено другое значение .

В следующем примере объект Array будет создан и доступен только внутри блока обработки условия. За рамками этого блока объект Array будет недоступен.

Видно, что сборщик мусора позволяет разработчику думать о логике приложения и не заботиться об очистке памяти при создании объектов.

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

Краткие итоги

Платформа Microsoft . NET Framework – это мощная среда для разработки приложений, которая первый раз увидела свет в 2000 году. В рамках этой платформы существует общеязыковая среда исполнения, которая позволяет запускать программный код на промежуточном языке – MSIL . Этот язык необходим для абстрагирования от конкретной платформы и создания единого приложения, не зависящего от конкретных условий пользователя. В составе . NET Framework содержится мощная библиотека базовых классов, которая реализует наиболее типичные задачи. Также для приложений, работающих в составе . NET Framework выполняется автоматическая сборка мусора , что позволяет разработчику не заботиться об удалении устаревших объектов.

Источник: intuit.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru