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

Аннотация: Инициатива Microsoft .NET. Проблемы совместимости, надежности и повторного использования компонентов. .NET Framework. Общеязыковая исполняющая среда CLR. Псевдомашинный язык CIL (управляемый assembler). JIT-компилятор. Языки программирования. Сборки. Метаданные. Сборщик мусора. Библиотека классов.NET Framework

Проблемы разработки современных информационных систем

Проблемы интеграции

  • Модулей, написанных на различных языках, использующих разный API (или версии API) или разный формат представления данных;
  • Программ, разработанных для различных платформ, в рамках единого программного комплекса;
  • Систем, использующих разные программные модели.

Особенно часто возникают проблемы интеграции с унаследованным кодом ( legacy ). При решении задач интеграции возникают проблемы несовместимости.

Проблемы переносимости

Все чаще к программам предъявляются требования поддержки нескольких платформ (например, возможность работы с программой на платформе Windows и Mac OS).

Проблемы версий

Windows-разработчики знают о проблеме совместимости версий, известной под названием "ад DLL". Этот "ад" возникает, когда компоненты, устанавливаемые для нового приложения, заменяют компоненты старого приложения. В итоге старое приложение начинает работать неправильно или перестает работать.

Управление ресурсами

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

Безопасность типов

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

Обработка сбоев

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

Эти и другие проблемы разработки информационных систем помогает решать платформа Microsoft .NET.

Решение проблем разработки информационных систем в.NET

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

Технология. NET представляет собой способ разработки и развертывания программного обеспечения, который с помощью таких широко используемых стандартов, как HTTP и XML , реализует взаимодействие программ и обеспечивает доступ через Internet к многочисленным программным сервисам. Технология включает. NET Framework - платформу для разработки и исполнения приложений, которая упрощает и ускоряет разработку, поддерживает полноценное объектно-ориентированное программирование для Web , устраняет многие типы наиболее распространенных программных ошибок, предоставляет общий API для всех языков.

Что составляет Microsoft .NET

NET Framework - инфраструктура разработки приложений. Ее основные компоненты - общеязыковая исполняющая среда (Common Language Runtime) и библиотека классов. NET Framework Class Library .

Общеязыковая исполняющая среда (Common Language Runtime)

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

Весь код для платформы.NET преобразуется CLR в промежуточный код на языке CIL. Поэтому разработчики могут легко интегрировать код, написанный для.NET на различных языках программирования. Все, что можно сделать на одном.NET-совместимом языке (за редким исключением), можно сделать на любом другом. Код на этих языках компилируется в код на одном языке - языке CIL.

CLR расположена поверх операционной системы и предоставляет виртуальную среду для управляемых приложений. Код для платформы.NET либо исполняется CLR, либо получает разрешение на исполнение за ее пределами.

Код для CLR представляет собой команды псевдомашинного языка Common Intermediate Language (CIL). Эти команды компилируются в машинный код соответствующего типа процессора по запросу (just-in-time) в период выполнения. Обычно компиляция метода происходит один раз во время его первого вызова. Затем результат кэшируется в памяти, чтобы избежать задержек при повторных вызовах. JIT-компилятор выполняет оптимизацию кода специально для процессора, на котором исполняется этот код.

Преобразуя команды CIL в команды процессора, JIT-компилятор выполняет верификацию кода на предмет безопасности типов.

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

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

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

.NET Framework Class library (FCL)

В. NET включены сборки библиотеки классов. NET Framework Class library ( FCL ), содержащие определения нескольких тысяч типов, каждый из которых предоставляет некоторую функциональность. Наборы "родственных" типов собраны в отдельные пространства имен. Так, пространство имен System содержит базовый класс Object , из которого в конечном счете порождаются все остальные типы.

Таким образом, всякая сущность в. NET является объектом со своими полями и методами.

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

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

Приведем некоторые наиболее распространенные пространства имен и краткое описание содержащихся там типов.

Основные пространства имен FCL
Пространство имен Содержание
System Фундаментальные типы данных и вспомогательные классы
System.Collections Хэш-таблицы, массивы переменной размерности и другие контейнеры
System.Data Классы ADO .NET для доступа к данным
System.Drawing Классы для вывода графики (GDI+)
System.IO Классы файлового и потокового ввода/вывода
System.Net Классы для работы с сетевыми протоколами, например с HTTP
System.Reflection Классы для чтения и записи метаданных
System.Runtime.Remoting Классы для распределенных приложений
System.ServiceProcess Классы для создания служб Wndows
System.Threading Классы для создания и управления потоками
System.Web Классы для поддержки HTTP
System.Web.Services Классы для разработки web-сервисов
System.Web.Services. Классы для разработки клиентов web-сервисов Protocols
System.Web.UI Основные классы, используемые ASP .NET
System.Web.UI. WebControls Серверные элементы управления ASP .NET
System.Wndows.Forms Классы для приложений с графическим интерфейсом пользователя
System.Xml Классы для чтения и ввода данных в формате XML

Все управляемые приложения используют

Понятие о среде. Факторы среды и их классификация

Термин «среда» в экологии применяется в широком и узком смысле слова. В широком смысле слова среда - это окружающая среда. Окружающая среда - это совокупность всех условий жизни, которые существуют на планете Земля. Американский биолог П.Эрлих в своей книге «Демографический взрыв», которая вышла в свет в конце 60-х годов, так образно охарактеризовал окружающую среду: «Наша окружающая среда - единственная в своем роде «кожа» из почвы, воды и газообразной атмосферы, минеральных питательных веществ и живых организмов, покрывающая ничем в остальном особо не примечательную планету». Среда в узком смысле слова - это среда обитания. Среда обитания - это та часть природы, которая окружает организм и с которой он непосредственно взаимодействует. Среда обитания каждого организма многообразна и изменчива. Она слагается из множества элементов живой и неживой природы и элементов, привносимых человеком в результате его хозяйственной деятельности.
Все элементы среды по отношению к организму неравнозначны: одни из них влияют на его жизнедеятельность, а другие для него безразличны. В связи с этим все элементы среды сгруппировать следующим образом.
1. Нейтральные факторы - это те элементы среды, которые не влияют на организм и не вызывают у него никакой реакции.
2. Экологические факторы - это те элементы среды, которые способны прямо или косвенно оказывать влияние на организм хотя бы на протяжении одной из фаз его индивидуального развития и вызывать у него специфическую приспособительную реакцию.
Экологические факторы среды многообразны, они имеют разную природу и специфику действия. По значимости для организма их подразделяют на две группы:
1. Условия существования или условия жизни - это те экологические факторы, без которых организм существовать не может и с которыми он находится в неразрывном единстве. Отсутствие хотя бы одного из этих факторов приводит к гибели организма.
2. Второстепенные факторы - это те экологические факторы, которые не являются жизненно важными, но могут видоизменять существование организма, улучшая или ухудшая его.
Анализ огромного разнообразия экологических факторов по природе их происхождения позволяет разделить их на три большие группы, в каждой из которых в свою очередь можно выделить подгруппы:
I. Абиотические факторы - это факторы неживой природы, которые прямо или косвенно влияют на организм. Они подразделяются на четыре подгруппы:
а) климатические факторы - это все факторы, которые формируют климат и способны влиять на жизнь организмов (свет, температура, влажность, атмосферное давление, скорость ветра и т.д.);
б) эдафические, или почвенные, факторы - это свойства почвы, которые оказывают влияние на жизнь организмов. Они в свою очередь разделяются на физические (механический состав, комковатость, капиллярность, скважность, воздухо- и влагопроницаемость, воздухо- и влагоемкость, плотность, цвет и т.д.) и химические (кислотность, минеральный состав, содержание гумуса) свойства почвы;
в) орографические факторы, или факторы рельефа, - это влияние характера и специфики рельефа на жизнь организмов (высота местности над уровнем моря, широта местности по отношению к экватору, крутизна местности - это угол наклона местности к горизонту, экспозиция местности - это положение местности по отношению к сторонам света);
г) гидрофизические факторы - это влияние воды во всех состояниях (жидкое, твердое, газообразное) и физических факторов среды (шум, вибрация, гравитация, магнитное, электромагнитное и ионизирующее излучения) на жизнь организмов.
II. Биотические факторы - это факторы живой природы, влияние живых организмов друг на друга. Они носят самый разнообразный характер и действуют не только непосредственно, но и косвенно через окружающую неорганическую природу. В зависимости от вида воздействующего организма их разделяют на две группы:
а) внутривидовые факторы - это влияние особей этого же вида на организм (зайца на зайца, сосны на сосну и т.д.);
б) межвидовые факторы - это влияние особей других видов на организм (волка на зайца, сосны на березу и т.д.).
В зависимости от принадлежности к определенному царству биотические факторы подразделяют на четыре основные группы:
а) фитогенные факторы - это влияние растений на организм;
б) зоогенные факторы - это влияние животных на организм;
в) микробогенные факторы - это влияние микроорганизмов (вирусы, бактерии, простейшие, риккетсии) на организм;
г) микогенные факторы - это влияние грибов на организм.
III. Антропогенные факторы - это совокупность воздействий человека на жизнь организмов. В зависимости от характера воздействий они делятся на две группы:
а) факторы прямого влияния - это непосредственное воздействие человека на организм (скашивание травы, вырубка леса, отстрел животных, отлов рыбы и т.д.);
б) факторы косвенного влияния - это влияние человека фактом своего существования (ежегодно в процессе дыхания людей в атмосферу поступает 1,1х1012 кг углекислого газа и из окружающей среды в виде пищи изымается 2,7х1015 ккал энергии) и через хозяйственную деятельность (сельское хозяйство, промышленность, транспорт, бытовая деятельность и т.д.).
В зависимости от последствий воздействия обе эти группы антропогенных факторов в свою очередь еще подразделяются на положительные факторы (посадка и подкормка растений, разведение и охрана животных, охрана окружающей среды и т.д.), которые улучшают жизнь организмов или увеличивают их численность, и отрицательные факторы (вырубка деревьев, загрязнение окружающей среды, разрушение местообитаний, прокладка дорог и других коммуникаций), которые ухудшают жизнь организмов или снижают их численность.
Оригинальную классификацию экологических факторов по степени их постоянства, т.е. по их периодичности, предложил А.С.Мончадский. Согласно этой классификации различают следующие три группы факторов.
1. Первичные периодические факторы - это факторы, действие которых началось до появления жизни на Земле и живые организмы должны были сразу к ним адаптироваться (суточная периодичность освещенности, сезонная периодичность времен года, лунные ритмы и т.д.).
2. Вторичные периодические факторы - это факторы, являющиеся следствием первичных периодических факторов (влажность, температура, динамика пищи, содержание газов в воде и т.д.).
3. Непериодические факторы - это факторы, не имеющие правильной периодичности или цикличности (эдафические факторы, антропогенные факторы, содержание загрязняющих веществ в воде, атмосфере или почве и т.д.).
В зависимости от характера изменения во времени факторы среды подразделяются также на три группы:
1. Регулярно-периодические факторы - это факторы, меняющие свою силу в зависимости от времени суток, сезона года или ритма приливов и отливов (освещенность, температура, длина светового дня и т.д.).
2. Нерегулярные факторы - это факторы, не имеющие четко выраженной периодичности (климатические факторы в разные годы, факторы катастрофического происхождения в результате наводнения, урагана, землетрясения и т.д.).
3. Направленные факторы - это факторы, действующие на протяжении длительного промежутка времени в одном направлении (похолодание или потепление климата, зарастание водоема, выпас скота на одном месте и т.д.).
По характеру ответной реакции организма на воздействие экологического фактора различают следующие группы экологических факторов:
1. Раздражители - это факторы, вызывающие приспособительные изменения физиологических функций и биохимических реакций.
2. Модификаторы - это факторы, вызывающие приспособительные анатомические и морфологические изменения в организме.
3. Ограничители - это факторы, обусловливающие невозможность существования в данных условиях и ограничивающие среду распространения организма.
4. Сигнализаторы - это факторы, свидетельствующие об изменении других факторов и выступающие в роли предупредительного сигнала.
В зависимости от возможности потребления при взаимодействии с организмом экологические факторы подразделяют на две категории:
1. Условия - это изменяющиеся во времени и пространстве экологические факторы среды обитания, на которые организм реагирует по-разному в зависимости от силы фактора (температура, влажность, атмосферное давление, физические свойства почвы и т.д.). Условия организмом не расходуются и не исчерпываются.
2. Ресурсы - это все экологические факторы среды обитания, которые организм потребляет, потребляет в том смысле, что количество их (наличный запас) в результате взаимодействия с организмом может уменьшиться. Ресурсы - это по преимуществу вещества, из которых состоит тело организма, энергия, вовлекаемая в процессы его жизнедеятельности, а также места, где протекают те или иные фазы его жизненного цикла.
Помимо приведенных выше классификаций экологических факторов в экологии применяются и другие классификации, в основу которых берутся различные критерии в зависимости от интересов исследователя.

Платформа.NET Framework - это один из компонентов системы Windows. Он позволяет создавать и использовать приложения нового поколения. Назначение платформы .NET Framework :

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

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

Смотрите моё видео на тему платформа.NET Framework и среда выполнения CLR для C#

Язык программирования C# является относительно свежим, но он уже успел заслужить доверие. Релиз первой версии состоялся в феврале 2002 года. Крайней версией языка на момент написания статьи является C# 7.2, которая вышла 16.08.2017.

Синтаксис языка C# как следует из названия входит в семейство Си-подобных языков и похож на другие популярных языки из этой группы (C++, Java). Поэтому, если вы уже знакомы с одним из этих языков, вам будет значительно проще освоить языком программирования C#.

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

Платформа.NET

.NET Framework – это программная платформа от компании Microsoft позволяющая выполнять разработку на различных языках программирования, так как для всех языков используется единая общеязыковая среда исполнения Common Language Runtime (CLR). Таким образом, основными возможностями платформы.NET являются:

  • Кроссплатформенность – .NET Framework поддерживается большинством современных операционных систем Windows, а также есть возможность создавать приложения поддерживаемые Linux системами, и даже мобильные приложения.
  • Мультиязычность – так как исходный код, написанный на используемом языке программирования, транслируется в общеязыковой Common Intermediate Language (CIL) код, появляется возможность вести разработку на любом поддерживаемом языке программирования, и даже использовать различные языки программирования в одном решении. Наиболее популярными поддерживаемыми языками являются C#, VB.NET, C++, F#.
  • Обширная библиотека классов и технологий – существует огромное количество готовых к использованию библиотек для решения необходимых задач. Зачастую совсем не приходится реализовывать низкоуровневую логику работы приложения, достаточно воспользоваться готовым решением, удобно поставляемым через менеджер пакетов nuget. Кроме того, платформа.NET предусматривает легкую разработку практически любого типа необходимого программного обеспечения.

Управляемый и неуправляемый код. JIT-компиляция

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

После создания библиотеки классов или приложения, исходный код продолжает храниться на языке CIL. А при запуске приложения или обращении к библиотеке выполняется Just-In-Time (JIT ) компиляция приложения в машинный код, специфичный именно для того окружения, на котором осуществляется исполнение приложения. При этом важной особенностью является то, что выполняется компиляция только той части приложения или библиотеки, к которой выполняется обращение (ну и связей естественно). Это позволяет увеличить производительность работы системы и экономить ресурсы.

Неуправляемый код (unmanaged code) – это код, транслируемый сразу в машинный исполняемый код и исполняется операционной системой напрямую.

Кроме того, рекомендую прочитать статью . А также подписывайтесь на группу ВКонтакте, Telegram и YouTube-канал . Там еще больше полезного и интересного для программистов.

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

· Обеспечение согласованной объектно-ориентированной среды программирования для локального сохранения и выполнения объектного кода, для локального выполнения кода, распределенного в Интернете, либо для удаленного выполнения.

· Обеспечение среды выполнения кода, минимизирующей конфликты при развертывании программного обеспечения и управлении версиями.

· Обеспечение среды выполнения кода, гарантирующей безопасное выполнение кода, включая код, созданный неизвестным или не полностью доверенным сторонним изготовителем.

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

· Обеспечение единых принципов работы разработчиков для разных типов приложений, таких как приложения Windows и веб-приложения.

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

Двумя основными компонентами платформы.NET Framework являются общеязыковая среда выполнения (CLR) и библиотека классов.NET Framework. Основой платформы.NET Framework является среда CLR. Среду выполнения можно считать агентом, который управляет кодом во время выполнения и предоставляет основные службы, такие как управление памятью, управление потоками и удаленное взаимодействие. При этом накладываются условия строгой типизации и другие виды проверки точности кода, обеспечивающие безопасность и надежность. Фактически основной задачей среды выполнения является управление кодом. Код, который обращается к среде выполнения, называют управляемым кодом, а код, который не обращается к среде выполнения, называют неуправляемым кодом. Другой основной компонент платформы.NET Framework, библиотека классов, представляет полную объектно-ориентированную коллекцию типов, которые применяются для разработки приложений, начиная от обычных, запускаемых из командной строки или с графическим интерфейсом пользователя, и заканчивая приложениями, использующими последние технологические возможности ASP.NET, такие как Web Forms и веб-службы XML.

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


For example, ASP.NET hosts the runtime to provide a scalable, server-side environment for managed code. ASP.NET works directly with the runtime to enable ASP.NET applications and XML Web services, both of which are discussed later in this topic.

Internet Explorer is an example of an unmanaged application that hosts the runtime (in the form of a MIME type extension). Using Internet Explorer to host the runtime enables you to embed managed components or Windows Forms controls in HTML documents. Hosting the runtime in this way makes managed mobile code (similar to Microsoft® ActiveX® controls) possible, but with significant improvements that only managed code can offer, such as semi-trusted execution and isolated file storage.

The following illustration shows the relationship of the common language runtime and the class library to your applications and to the overall system. The illustration also shows how managed code operates within a larger architecture.

NET Framework in context

The following sections describe the main components and features of the .NET Framework in greater detail.


Например, ASP.NET размещает среду выполнения и обеспечивает масштабируемую среду для управляемого кода на стороне сервера. ASP.NET работает непосредственно со средой выполнения, чтобы обеспечить выполнение приложений ASP.NET и веб-служб XML, обсуждаемых ниже в этом разделе.

Обозреватель Internet Explorer может служить примером неуправляемого приложения, размещающего среду выполнения (в виде расширений типов MIME). Размещение среды выполнения в обозревателе Internet Explorer позволяет внедрять управляемые компоненты или элементы управления Windows Forms в HTML-документы. Такое размещение среды делает возможным выполнение управляемого мобильного кода (аналогичного элементам управления Microsoft® ActiveX®), но с существенными преимуществами управляемого кода, такими как выполнение в условиях неполного доверия и изолированное хранение файлов.

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

NET Framework в контексте

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


Top