Microsoft windows net framework для чего

Microsoft NET Framework — что это такое и как установить его на Windows

Если вы часто устанавливаете программы, то наверняка сталкивались с ошибками Microsoft .NET Framework . Две самых распространённых — он либо не установлен, либо установлена не та версия.

Почему так происходит? Что это такое и зачем нужен NET Framework ?

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

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

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

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

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

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

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

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

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

На большинстве компьютеров на Windows уже установлен Microsoft NET Framework , но его версия может быть устаревшей. Например, с Windows 8 и 8.1 поставляется версия 4.5.1 , а с Windows 10 — версия 4.6 , 4.6.1 или 4.6.2 .

На момент написания статьи самая свежая версия — Microsoft NET Framework 4,7 . Именно её мы и будем устанавливать:

Перед установкой — Microsoft Net Framework можно установить на Windows 10 , Windows 8.1 и Windows 7 SP1 как на 32-битные, так и на 64-битные системы. Чтобы установка прошла без ошибок, Microsoft рекомендует иметь на жестком диске минимум 2.5 ГБ свободного пространства.

Microsoft предлагает два вида установщиков: веб-установщик и автономный установщик. Веб-установщик весит меньше 2 МБ, и скачивает все необходимые компоненты во время инсталляции. Поэтому вам потребуется стабильное соединение с интернетом.

Автономный установщик весит около 60 МБ, и не требует доступа к интернету во время инсталляции.

Оба установщика содержат одинаковые версии NET Framework , но мы предпочитаем использовать автономный установщик. Он надёжнее, и всегда будет под рукой, если потребуется переустановить NET Framework . После скачивания процесс установки не должен вызвать затруднений — просто следуйте инструкциям, появляющимся на экране. И тогда вы быстрее поймете, зачем нужен NET Framework 4 .

.NET Framework 4.7 Веб-установщик

.NET Framework 4.7 Автономный установщик

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

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

Языковой пакет .NET Framework 4.7

Ещё кое-что о Microsoft Net Framework

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

Что это значит для вас? В сущности, то, что приложения, написанные на .NET Framework в будущем станут только популярнее и качественнее. Поэтому, почему бы не установить .NET Framework прямо сейчас?

Для чего нужен Microsoft .NET Framework, и где его скачать

Время от времени при скачивании и установке программ компьютер показывает ошибки, связанные с отсутствием некоего Microsoft .NET Framework. Два наиболее частых сообщения об ошибках? Либо .Net Framework не установлен на компьютере, либо установлена его устаревшая версия. Ссылка на то, чтобы скачать Net Framework 4.8, находится ниже в статье. Есть и подробные инструкции по выбору и установке.

Так что за зверь такой? Это программа, без которой современные ОС Windows не являются самими собой. Важнейший компонент Винды.

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

Прежде всего, произносится это чудо-юдо, как «дот нет фреймворк». «Точка-нет» по-русски (ну, почти по-русски). Dot Net.

Чтобы ответить на вопрос, что такое .NET Framework для Windows, нужно понять, почему он вообще существует. Ссылки на скачивание программы расположены ниже (это официальные серверы Майкрософт) – пока закачивается, взгляните на объяснения. Всё довольно просто, хотя придётся нырнуть в кое-какие вопросы программирования. Нет, программистом для понимания «Дот-Нета» быть не нужно.

Так вот: программисты – те люди, которые создают программы. Их работа подразумевает, что они «пишут код». Пишут код они на разных языках программирования. Код – объяснения для компьютера, что делать в каждый момент его работы.

Любой язык программирования – довольно примитивная штука. В языках программирования есть выражения типа сложения или умножения, но ничего более сложного. Программист желает вывести на экран окно программы? Ему потребуется написать для этого кучу кода и потратить много времени.

Так выглядит код, на котором написаны программы. Если не скачать Net Framework для Windows, то компьютер тоже ничего не поймёт.

И тут на помощь программисту приходит .NET Framework для Windows: скачать его можно бесплатно. Суть этого программного обеспечения – огромная коллекция уже написанных для программистов библиотек кода, которые позволяют вывести на экран то же окно. Такой код написан специалистами Microsoft. Он позволяет программистам не отвлекаться на ненужные вещи, а создавать свои программы.

Читайте также:  Драйвер принтера hp laserjet m1212nf mfp для windows 10

Наглядный пример. В недрах .NET Framework есть множество детально проработанных операций – скажем:

  • инструкция для Windows, как нарисовать на экране окно;
  • готовая функция, чтобы поместить кнопки внутри окна;
  • что именно делать компьютеру, когда происходит нажатие на эти кнопки;

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

Хорошо, «Net Framework» – палочка-выручалочка для программистов. Зачем он рядовому пользователю?

Дело в том, что пока на компьютере не установлен .NET Framework, Windows не знает, как работать с программами, написанными в этой среде. Так и выскакивают на экран ошибки: «Данная программа требует установки Net.Framework». Таких программ всё больше и больше – это драйверы видеокарт Radeon и GeForce, графические редакторы типа Paint.NET, многочисленные мессенджеры и т.д.

Итак, для нормальной работы многих программ в Windows требуется программа .NET Framework (точнее – её часть под названием Redistributable Package – «распространяемый пакет»). Она нужна не для программистов – она нужна для обычных пользователей, чтобы на их машинах запускались скачанные программы.

Где скачать .NET Framework. Какие версии подходят для Windows 7, 8 и 10

На большинстве компьютеров с Windows на борту уже установлен .NET Framework – обычно старые версии. А именно:

  • в Windows 7 уже встроен установленный .Net Framework версии 3.5.
  • Windows 8 и 8.1 поставляются с версиями 4.5-4.5.1;
  • Windows 10 включает в себя версию 4.6.

Современные приложения требуют свежак. Да и для общей безопасности лучше скачать .NET Framework свежей версии (на конец 2019 года это 4.8). Подходит для Windows вплоть до старенькой уже «семёрки». Установка предельно простая.

Вообще-то свежие версии программы скачиваются автоматически, через службу обновлений (Windows Update). Но слишком часто она отключена (как отключить обновления в Windows 10 – этому ремеслу была посвящена целая статья на Woocomp), поэтому можно воспользоваться обычным скачиванием с сайта Microsoft. Всё бесплатно, разумеется.

Наиболее свежая версия .NET Framework 4.8 (2020 год) подходит для скачивания и установки на Windows 10, Windows 8.1 и Windows 7 SP1. Выбор разрядности (x86 или x64) не требуется. Полная версия дистрибутива занимает около 60 мегабайт.

На сайте Microsoft есть две версии инсталлятора:

  1. Онлайн-инсталлятор. Крохотная утилита под 2 Мб, которая докачивает оставшиеся файлы в фоновом режиме. Не рекомендуем, совсем.
  2. Оффлайн-инсталлятор – не более 60 Мб. Закачайте именно его – и сохраните на будущее. Возможно, пригодится при переустановке Винды или для других компьютеров.

Установка

Сама установка предельно простая, занимает 2-3 минуты в зависимости от мощности компьютера.

  1. Скачиваем .NET Framework 4.8 Runtime с сайта Microsoft (полная версия, 111,9 Мбайт). Выбираем русский язык из списка, если он есть.
  2. Запускаем скаченный файл.
  3. Готово!

Скачать .NET Framework с официального сайта Майкрософт

Версия 4.8 самостоятельно удаляет с компьютера предыдущие релизы .NET Framework, начиная с версии 4.0 (конкретнее – версии 4, 4.5, 4.5.1, 4.5.2, 4.6.2, 4.7 и так далее, будут удалены при установке). Их не нужно деинсталлировать вручную. Более старые версии (3.5 SP1 к примеру) – отдельные программы. Они не удалятся самостоятельно, да и вообще их лучше оставить для совместимости со старыми программами.

Как узнать какие версии .Net Framework установлены в системе?

Это можно сделать через системный реестр

Запускаем Редактор реестра: Пуск -> Выполнить -> regedit.

Переходим в раздел HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP

Видим ветки с номерами версий и дополнительными параметрами.

Install = 1 — говорит что версия установлена.
SP — показывает номер установленного Service Pack.
Version — показывает полный номер версии.

Что нового в Net Framework 4.8

Список изменений в версии 4.8, которая вышла летом 2019 года, включает:

  • улучшенную поддержку экранов с высокими разрешениями;
  • расширенную поддержку тач-скринов в Windows 10;
  • улучшенную поддержку криптографии;
  • поддержку языков C# 7 and VB 15;
  • улучшения в производительности и надёжности фреймворка.

Не откладывайте установку этого важного компонента Windows. Скачать Net Framework 4.8 нужно как можно скорее: из системы уйдут многие ошибки.

Общие сведения о платформе .NET Overview of .NET Framework

Платформа .NET Framework — это технология, которая поддерживает создание и выполнение веб-служб и приложений Windows. .NET Framework is a technology that supports building and running Windows apps and web services. При разработке платформы .NET Framework учитывались следующие цели. .NET Framework is designed to fulfill the following objectives:

Обеспечение согласованной объектно-ориентированной среды программирования для локального сохранения и выполнения объектного кода, для локального выполнения кода, распределенного в Интернете, либо для удаленного выполнения. Provide a consistent, object-oriented programming environment whether object code is stored and executed locally, executed locally but web-distributed, or executed remotely.

Предоставление среды выполнения кода, в которой: Provide a code-execution environment that:

сведена к минимуму вероятность конфликтов в процессе развертывания программного обеспечения и управления его версиями; Minimizes software deployment and versioning conflicts.

гарантируется безопасное выполнение кода, включая код, созданный неизвестным или не полностью доверенным сторонним изготовителем; Promotes safe execution of code, including code created by an unknown or semi-trusted third party.

исключаются проблемы с производительностью сред выполнения скриптов или интерпретируемого кода; Eliminates the performance problems of scripted or interpreted environments.

обеспечиваются единые принципы разработки для разных типов приложений, таких как приложения Windows и веб-приложения; Make the developer experience consistent across widely varying types of apps, such as Windows-based apps and Web-based apps.

обеспечивается взаимодействие на основе промышленных стандартов, которое гарантирует интеграцию кода платформы .NET Framework с любым другим кодом. Build all communication on industry standards to ensure that code based on .NET Framework integrates with any other code.

.NET Framework 4.8 — это последняя версия платформы .NET Framework. Выпуск последующих версий не планируется. .NET Framework 4.8 is the last version of .NET Framework, and no further versions will be released. Тем не менее, обслуживание платформы .NET Framework будет продолжаться в рамках ежемесячных исправлений безопасности и надежности. However, .NET Framework will continue to be serviced with monthly security and reliability bug fixes. Кроме того, она будет по-прежнему включена в состав Windows и не планируется к исключению. Additionally, it will continue to be included with Windows, with no plans to remove it. Переносить приложения .NET Framework не требуется, однако для новых разработок следует использовать платформу .NET 5.0 или более поздних версий. You don’t need to migrate your .NET Framework apps, but for new development, use .NET 5.0 or later.

Читайте также:  Running mysql server linux

Платформа .NET Framework состоит из общеязыковой среды выполнения (среды CLR) и библиотеки классов .NET Framework. .NET Framework consists of the common language runtime (CLR) and the .NET Framework class library. Основой платформы .NET Framework является среда CLR. The common language runtime is the foundation of .NET Framework. Среду выполнения можно считать агентом, который управляет кодом во время выполнения и предоставляет основные службы, такие как управление памятью, управление потоками и удаленное взаимодействие. При этом средой накладываются условия строгой типизации и другие виды проверки точности кода, обеспечивающие безопасность и надежность. Think of the runtime as an agent that manages code at execution time, providing core services such as memory management, thread management, and remoting, while also enforcing strict type safety and other forms of code accuracy that promote security and robustness. Фактически основной задачей среды выполнения является управление кодом. In fact, the concept of code management is a fundamental principle of the runtime. Код, который обращается к среде выполнения, называют управляемым кодом, а код, который не обращается к среде выполнения, называют неуправляемым кодом. Code that targets the runtime is known as managed code, while code that doesn’t target the runtime is known as unmanaged code. Библиотека классов является комплексной объектно-ориентированной коллекцией повторно используемых типов, которые применяются для разработки приложений — начиная с обычных приложений, запускаемых из командной строки, и приложений с графическим интерфейсом (GUI) и заканчивая приложениями, использующими последние технологические возможности ASP.NET, такие как веб-формы и веб-службы XML. The class library is a comprehensive, object-oriented collection of reusable types that you use to develop apps ranging from traditional command-line or graphical user interface (GUI) apps to apps based on the latest innovations provided by ASP.NET, such as Web Forms and XML web services.

Платформа .NET Framework может размещаться неуправляемыми компонентами, которые загружают среду CLR в собственные процессы и запускают выполнение управляемого кода, создавая таким образом программную среду, позволяющую использовать средства как управляемого, так и неуправляемого выполнения. .NET Framework can be hosted by unmanaged components that load the common language runtime into their processes and initiate the execution of managed code, thereby creating a software environment that exploits both managed and unmanaged features. Платформа .NET Framework не только предоставляет несколько базовых сред выполнения, но также поддерживает разработку базовых сред выполнения независимыми производителями. .NET Framework not only provides several runtime hosts but also supports the development of third-party runtime hosts.

Например, ASP.NET размещает среду выполнения и обеспечивает масштабируемую среду для управляемого кода на стороне сервера. For example, ASP.NET hosts the runtime to provide a scalable, server-side environment for managed code. ASP.NET работает непосредственно со средой выполнения, чтобы обеспечить выполнение приложений ASP.NET и веб-служб XML, обсуждаемых ниже в этой статье. ASP.NET works directly with the runtime to enable ASP.NET apps and XML web services, both of which are discussed later in this article.

Обозреватель Internet Explorer может служить примером неуправляемого приложения, размещающего среду выполнения (в виде расширений типов MIME). Internet Explorer is an example of an unmanaged app that hosts the runtime (in the form of a MIME type extension). Размещение среды выполнения в обозревателе Internet Explorer позволяет внедрять управляемые компоненты или элементы управления Windows Forms в HTML-документы. 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 possible, but with significant improvements that only managed code offers, such as semi-trusted execution and isolated file storage.

На следующем рисунке демонстрируется взаимосвязь среды CLR и библиотеки классов с пользовательскими приложениями и всей системой. The following illustration shows the relationship of the common language runtime and the class library to your apps and to the overall system. На рисунке также показано, как управляемый код работает в пределах более широкой архитектуры. The illustration also shows how managed code operates within a larger architecture.

В следующих разделах приводится более подробное описание основных возможностей платформы .NET Framework. The following sections describe the main features of .NET Framework in greater detail.

Возможности среды CLR Features of the common language runtime

Среда CLR управляет памятью, выполнением потоков, выполнением кода, проверкой безопасности кода, компиляцией и другими системными службами. The common language runtime manages memory, thread execution, code execution, code safety verification, compilation, and other system services. Эти средства являются внутренними для управляемого кода, который выполняется в среде CLR. 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.

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

Читайте также:  Zip utility mac os

Кроме того, управляемая среда выполнения исключает многие часто возникающие проблемы с программным обеспечением. 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. Языковые компиляторы, предназначенные для платформы .NET Framework, делают средства .NET Framework доступными для существующего кода, написанного на соответствующих языках, существенно облегчая процесс переноса существующих приложений. 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. Взаимодействие управляемого и неуправляемого кодов позволяет разработчикам использовать необходимые компоненты COM и библиотеки DLL. 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. Средство компиляции по требованию (JIT) позволяет выполнять весь управляемый код на машинном языке компьютера, где он запускается. 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.

Наконец, среда выполнения может размещаться в высокопроизводительных серверных приложениях, таких как Microsoft SQL Server и службы IIS (Internet Information Services). 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.

Библиотека классов .NET Framework .NET Framework class library

Библиотека классов платформы .NET Framework представляет собой коллекцию типов, которые тесно интегрируются со средой CLR. The .NET Framework class library is a collection of reusable types that tightly integrate with the common language runtime. Библиотека классов является объектно-ориентированной. Она предоставляет типы, от которых управляемый код пользователя может наследовать функции. The class library is object oriented, providing types from which your own managed code derives functionality. Это не только упрощает работу с типами .NET Framework, но и сокращает время изучения новых средств платформы .NET Framework. This not only makes the .NET Framework types easy to use but also reduces the time associated with learning new features of the .NET Framework. Кроме того, компоненты независимых производителей можно легко объединять с классами платформы .NET Framework. In addition, third-party components integrate seamlessly with classes in the .NET Framework.

Например, в классах коллекций .NET Framework реализуется набор интерфейсов для разработки пользовательских классов коллекций. For example, the .NET Framework collection classes implement a set of interfaces for developing your own collection classes. Пользовательские классы коллекций легко объединяются с классами .NET Framework. Your collection classes blend seamlessly with the classes in the .NET Framework.

Как и ожидается от объектно-ориентированной библиотеки классов, типы .NET Framework позволяют решать типовые задачи программирования, включая работу со строками, сбор данных, подключение к базам данных и доступ к файлам. As you would expect from an object-oriented class library, the .NET Framework types enable you to accomplish a range of common programming tasks, including string management, data collection, database connectivity, and file access. В дополнение к этим обычным задачам библиотека классов содержит типы, поддерживающие многие специализированные сценарии разработки. In addition to these common tasks, the class library includes types that support a variety of specialized development scenarios. Можете использовать платформу .NET Framework для разработки следующих типов приложений и служб: You can use .NET Framework to develop the following types of apps and services:

Приложения с графическим интерфейсом Windows (Windows Forms). Windows GUI apps (Windows Forms). См. статью Windows Forms. See Windows Forms.

Приложения Windows Presentation Foundation (WPF). Windows Presentation Foundation (WPF) apps. См. статью Windows Presentation Foundation. See Windows Presentation Foundation.

Сервисноориентированные приложения, использующие Windows Communication Foundation (WCF). Service-oriented apps using Windows Communication Foundation (WCF). См. статью Разработка сервисноориентированных приложений с помощью WCF. See Service-Oriented Applications with WCF.

Приложения, поддерживающие бизнес-процессы Windows Workflow Foundation (WF). Workflow-enabled apps using Windows Workflow Foundation (WF). См. Windows Workflow Foundation. See Windows Workflow Foundation.

Оцените статью