Софт-Архив

Net Framework 4.0 Что Это Такое img-1

Net Framework 4.0 Что Это Такое

Рейтинг: 4.6/5.0 (1856 проголосовавших)

Категория: Windows: .NET

Описание

ЗАЧЕМ нужен Microsoft Net Framework

Зачем нужен Microsoft Net Framework Назначение .NET Framework

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

Принцип работы .NET

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

Для реализации данной цели корпорацией было решено создать единый набор приложений и произвести объединение средств программирования. Для разработки были выпущены новые версии сред для разработки, наиболее популярной из которых является Microsoft Visual Studio, работающий с C#, F#, Visual Basic .NET и Managed C++.

На сегодняшний день последней версией .NET Framework является 4.5.1, которая была выпущена для реализации поддержки работы с операционными системами Windows 8.1 и Server 2012 R2, однако для запуска большинства программ на сегодняшний день может потребоваться установка и более ранней .NET Framework 2.0. Версия также дает возможность пользователю запускать разработанные на платформе приложения.

Установка .NET Framework

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

Стоит отметить, что в версиях Windows 8 и выше платформа .NET Framework интегрирована изначально и не нуждается в дополнительной установке. Тем не менее для инсталляции некоторых приложений для более ранних версий операционных систем может потребоваться скачать более ранние .NET Framework 1.0, 2.0 или 3.0.

Другие статьи, обзоры программ, новости

Net framework 4.0 что это такое

Microsoft .NET Framework 1.0-4.0 x86-x64 [2011, ENG + RUS]

Microsoft .NET Framework 1.0-4.0 x86-x64

Год/Дата Выпуска. 2011

Версия. 1.0-4.0

Разработчик. microsoft

Сайт разработчика. мелкософт

Разрядность. 32bit+64bit

Совместимость с Vista. да

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

Полный список операционных систем, уже включающих в себя ту или иную версию Framework

Версия 1.0 SP2 входит в состав операционных систем Windows XP Media Center Edition (SP1) и Windows XP Tablet PC Edition (SP1)

Версия 1.0 SP3 входит в состав операционных систем Windows XP Media Center Edition 2004-2005 (SP2) и Windows XP Tablet PC Edition 2005 (SP2)

* Версия 1.0 SP2 также распространяется на дисках с операционной системой Windows XP SP1 (в виде отдельного дистрибутива)

Версия 1.1 входит в состав операционной системы Windows Server 2003.

Версия 1.1 SP1 входит в состав операционных систем Windows Server 2003 SP1, R2SP1, SP2 и R2SP2.

* Версия 1.1 SP1 также распространяется на дисках с операционными системами Windows XP SP2 и SP3 (в виде отдельного дистрибутива)

Версия 2.0 входит в состав операционных систем Windows Server 2003 R2SP1, R2SP2 и Windows Vista (с небольшими оговорками, а может и без. )

Версия 2.0 SP1 входит в состав операционных систем Windows Vista SP1 и Windows Server 2008.

Версия 2.0 SP2 входит в состав операционных систем Windows Vista SP2, Windows Server 2008 SP2 / R2 и Windows 7.

Версия 3.0 входит в состав операционной системы Windows Vista.

Версия 3.0 SP1 входит в состав операционных систем Windows Vista SP1 и Windows Server 2008.

Версия 3.0 SP2 входит в состав операционных систем Windows Vista SP2, Windows Server 2008 SP2 / R2 и Windows 7.

Версия 3.5 SP1 входит в состав операционных систем Windows 7 и Windows Server 2008 R2.

Также есть информация (непроверенная), что некоторые версии Framework входят в состав операционных систем Windows Embedded (aka Windows XP/Vista for Embedded Systems) разных выпусков:

Windows XP Embedded SP0 ?

Windows XP Embedded SP1 1.0 SP2

Windows XP Embedded SP2 1.1 SP1 (на диске)

Windows XP Embedded SP2 Feature Pack 2007 2.0

Windows XP Embedded SP2 Feature Pack 2007 Update Rollup 1.0 3.0

Windows XP Embedded SP3 3.0 SP1

Windows Embedded Standard 2009 3.5

Небольшие пояснения

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

Microsoft .NET Framework 1.0 Redistributable Package + SP3 + KB928367 + KB947739 (2k only) + KB953295 (только для XP Media Center / Tablet PC Edition)

Версия 1.0 в настоящее время уже практически не используется, поэтому ставить ее рекомендуется только по необходимости, при работе с программами которые требуют именно ее (Visual Studio 2002, Sound Forge некоторых версий и т.п.). Русского LangPack'а для версии 1.0 не существует. Варианты вышеперечисленных обновлений на русском языке (SP3 Rus, KB928367 Rus и KB947739 Rus) предназначены только для русской версии Framework 1.0 SP2, распространявшейся на дисках с дистрибутивом русской Windows XP SP1. На английские версии Framework они не ставятся. Скачать обе (русскую и английскую) версии для XP можно отсюда SaveFrom.net. Версии 1.0 SP2 и SP3 входят в состав операционных систем Windows XP Media Center / Tablet PC Edition 2002 (SP1) и 2005 (SP2) соответственно. Версия 1.0 SP2 также распространяется на дисках с операционной системой Windows XP SP1 (в виде отдельного дистрибутива).

Microsoft .NET Framework 1.1 Redistributable Package + LangPack + SP1 + KB953297 + KB971108 (2k only)

Версия 1.1 не включает в себя версию 1.0, не требует и не заменяет ее при установке. Используется она чаще, однако устанавливать ее рекомендуется также по необходимости, только для тех программ, которые жестко к ней привязаны. Это обусловлено тем, что пакет .NET Framework 2.0 обеспечивает обратную совместимость с предыдущими версиями, и большинство программ, написанных под 1.0 и 1.1 без проблем работают в среде 2.0 (равно как и программы написанные под 1.0 могут запускаться под версией 1.1). Во избежание конфликтов не рекомендуется ставить версии 1.0 и 1.1 одновременно (некоторые записи в реестре у них общие). Версии 1.1 и 1.1 SP1 входят в состав операционных систем Windows Server 2003 и Windows Server 2003 SP1 / R2SP1 / SP2 / R2SP2 соответственно. Версия 1.1 SP1 также распространяется на дисках с операционными системами Windows XP SP2 и SP3 (в виде отдельного дистрибутива).

Microsoft .NET Framework 2.0 Redistributable Package (x64/ia64) + LangPack (x64/ia64) + KB928365 + KB947746 (2k only)

Версия 2.0 и все последующие версии Framework не включают в себя предыдущие версии 1.0 и 1.1, не требуют и не заменяют их при установке. Последняя версия, поддерживающая Windows 98/ME (все существующие обновления для этой версии, а также для версий 1.0 SP3 и 1.1 SP1 с этими ОС несовместимы, при проблемах установки сервис паков для версий 1.0 и 1.1 под Windows 98/ME использовать ключ /q). Эта версия входит в состав операционных систем Windows Server 2003 R2SP1 / R2SP2 и Windows Vista.

Microsoft .NET Framework 2.0 SP1 Redistributable Package (x64/ia64) + LangPack (x64/ia64) + KB953300 + KB971110 (2k only)

Версия 2.0 SP1 включает в себя версию 2.0 и заменяет ее при установке. Входит в состав операционных систем Windows Vista SP1 и Windows Server 2008.

Microsoft .NET Framework 2.0 SP2 Redistributable Package (x64/ia64) + LangPack (x64/ia64) + KB958481 + KB971111 (2k only) + KB974417 + KB976569

Версия 2.0 SP2 включает в себя версии 2.0 и 2.0 SP1 и заменяет их при установке. Последняя версия, поддерживающая Windows 2000. Для установки этой и предыдущей версий под этой операционной системой может потребоваться установить обновление KB835732 Эта версия входит в состав операционных систем Windows Vista SP2, Windows Server 2008 SP2 / R2 и Windows 7.

Microsoft .NET Framework 3.0 Redistributable Package (x64) + LangPack + KB928365

Версия 3.0 включает в себя версию 2.0. Входит в состав операционной системы Windows Vista.

Microsoft .NET Framework 3.0 SP1 Redistributable Package (x64) + LangPack (x64) + KB953300

Версия 3.0 SP1 не включает в себя версию 2.0 SP1, но требует ее для установки. При установке на чистую систему также могут потребоваться компоненты Microsoft Core XML Services 6.0 aka MSXML 6.0 Parser (KB933579) (x64), XML Paper Specification Shared Components Pack 1.0 (x64) и LangPack (x64) к нему (необязательно), Windows Imaging Component (x64), а также Software Rasterizer for the Microsoft DirectX 9.0 SDK (x64). Более подробно об изготовлении полноценного дистрибутива к версии 3.0 SP1 можно узнать здесь. Эта версия входит в состав операционных систем Windows Vista SP1 и Windows Server 2008.

Microsoft .NET Framework 3.0 SP2 x86/x64 + 2.0 SP2 x86/x64 Redistributable Package + KB958481 / KB958483 + KB974417 +

Версия 3.0 SP2 не включает в себя версию 2.0 SP2, но требует ее для установки. Скачиваемый по ссылке неофициальный дистрибутив включает обе этих версии для x86 и x64 систем. Русский языковой пакет для версии 3.0 SP2 в дистрибутив не входит и отдельно не распространяется. При установке на чистую систему может потребоваться компонент Microsoft Core XML Services 6.0 aka MSXML 6.0 Parser (включен в дистрибутив). Эта версия входит в состав операционных систем Windows Vista SP2, Windows Server 2008 SP2 / R2 и Windows 7.

Microsoft .NET Framework 3.5 Redistributable Package + LangPack (x64/ia64) + KB953300

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

Microsoft .NET Framework 3.5 SP1 Redistributable Package + LangPack (x64/ia64) + KB958481 / KB958483 / KB958484 + KB963707 + KB974417 + KB976126

Версия 3.5 SP1 включает в себя версии 2.0 SP2 и 3.0 SP2. В начале установки делает попытку соединения с интернетом для закачки языкового пакета. Если этот пакет у вас уже имеется, установку следует производить будучи отключенным от сети. После нескольких неудачных попыток подключения установка продолжится в обычном режиме. Эта версия входит в состав операционных систем Windows 7 и Windows Server 2008 R2.

Microsoft .NET Framework 4 Full Standalone Installer + Full LangPack (x86 x64)

Microsoft .NET Framework 4 Client Profile Standalone Installer

Версия 4 не включает в себя предыдущие версии (1.0, 1.1, 2.0, 3.0, 3.5), не требует их наличия при установке и не заменяет их.

Client Profile предназначен для пользователей и обеспечивает запуск приложений использующих функции платформы NET Framework 4.

Full содержит дополнительные функции, не включенные в Client Profile, предназначенные для разработчиков приложений.

ВАЖНО! Решение проблемы неустановки обновления KB928416 на систему со всеми установленными фреймворками до 3.5 SP1 включительно (предположительно эта проблема возникает только на OEM-версиях XP):

Зачем нужен Microsoft framework 4

зачем нужен Microsoft framework 4.0 и что я потеряю удалив его?

если уже стоит тот же фреймфорк 1.1, 2.0, 3.0 и 3.5 и ещё и 4.0 (всё это видно в списке "установка и удаление программ")

смысл действия - минимизировать пожирание озу не особо нужными программами (ввиду того, что 1 гига как-то на сегодня стало маловато и TravelMate 4520-6A1G12Mi стал медленной лошадкой)

на ноуте будут выполняться только простые задачи, как то - пользование MS Office 2007 (word-excel-ppt) в обычном юзерском режиме, thebat, интернет-браузинг (google chrome-mozilla firefox-opera-IE), просмотр фото (irfanview) и видео (vlc) и фотошоп.

нужен ли этот фреймворк такому компу (win xp sp3)?

какие ресурсы этот фреймфорк реально ест? он резервирует какое-то место в озу резидентно и этим замедляет работу постоянно - или никак не мешает, пока не потребуется?

Руководство C#

.NET Framework 4.0 SDK

Программисту, использующему язык C#, для разработки .NET-приложений на выбор доступно много инструментов. Одним из мифов в области разработки .NET-приложений является то, что программистам якобы обязательно требуется приобретать копию Visual Studio для того, чтобы разрабатывать программы на C#. На самом деле, создавать .NET-программу любого рода можно с помощью распространяемого бесплатно и доступного для загрузки комплекта инструментов для разработки программного обеспечения .NET Framework 4.0 SDK (Software Development Kit). В этом пакете поставляются многочисленные управляемые компиляторы, утилиты командной строки, примеры кода, библиотеки классов .NET и полная справочная система.

Тем, кто планирует использовать Visual Studio 2010 или Visual C# 2010 Express, следует иметь в виду, что в установке .NET Framework 4.0 SDK нет никакой необходимости. При установке любого из упомянутых продуктов этот пакет SDK устанавливается автоматически и сразу же предоставляет все необходимое.

Если использование IDE-среды от Microsoft не планируется, обязательно установите .NET Framework 4.0 SDK, прежде чем двигаться дальше.

При установке .NET Framework 4.0 SDK с Visual Studio 2010 или Visual C# 2010 Express на локальном жестком диске создается набор новых каталогов, в каждом из которых содержатся разнообразные инструменты для разработки .NET-приложений. Многие из этих инструментов работают в режиме командной строки, и чтобы использовать их в любом каталоге, нужно сначала соответствующим образом зарегистрировать пути к ним в операционной системе.

Для этого можно обновить переменную среды PATH вручную, но лучше пользоваться предлагаемым в Visual Studio окном командной строки (Command Prompt). Чтобы открыть это окно, необходимо выбрать в меню Start (Пуск) пункт All Programs --- Microsoft Visual Studio 2010 --- Visual Studio Tools (Все программы --- Microsoft Visual Studio 2010 --- Инструменты Visual Studio).

Преимущество применения именно этого окна командной строки связано с тем, что оно уже сконфигурировано на предоставление доступа к каждому из инструментов для разработки .NET-приложений. При условии, что на компьютере развернута среда разработки .NET, можно попробовать ввести команду «csc -?» и нажать клавишу <Enter>. Если все в порядке, появится список аргументов командной строки, которые может принимать работающий в режиме командной строки компилятор C# (csc означает C-sharp compiler):

Что такое

Что такое .NET Framework NGEN v4.0.30319 и как его исправить? Обзор .NET Framework NGEN v4.0.30319 Что такое .NET Framework NGEN v4.0.30319?

.NET Framework NGEN v4.0.30319 представляет собой разновидность файла Windows. связанного с Microsoft Windows, который разработан Microsoft Corporation для ОС Windows. Последняя известная версия .NET Framework NGEN v4.0.30319: 6.3.9600.16384, разработана для Windows 8.1. Данный файл Windows имеет рейтинг популярности 5 звезд и рейтинг безопасности "Неизвестно".

Почему у меня наблюдаются ошибки в файлах типа Windows?

Если Windows не может нормально загрузить файл .NET Framework NGEN v4.0.30319. или файл Windows заражен вирусом или вредоносным ПО, вы увидите сообщение об ошибке. Для получения дополнительной информации см. "Причины ошибок .NET Framework NGEN v4.0.30319" ниже.

В каких случаях появляются ошибки в файлах типа Windows?

Ошибки Windows, например, связанные с .NET Framework NGEN v4.0.30319, чаще всего появляются во время запуска компьютера, запуска программы или при попытке использования специфических функций в вашей программе (например, печать).

Распространенные сообщения об ошибках в .NET Framework NGEN v4.0.30319

Наиболее распространенные ошибки .NET Framework NGEN v4.0.30319, которые могут возникнуть на компьютере под управлением Windows, перечислены ниже:

  • "Ошибка в файле .NET Framework NGEN v4.0.30319."
  • "Отсутствует файл .NET Framework NGEN v4.0.30319."
  • ".NET Framework NGEN v4.0.30319 не найден."
  • "Не удалось загрузить .NET Framework NGEN v4.0.30319."
  • "Не удалось зарегистрировать .NET Framework NGEN v4.0.30319."
  • "Ошибка выполнения. NET Framework NGEN v4.0.30319."
  • "Ошибка загрузки .NET Framework NGEN v4.0.30319."

Такие сообщения об ошибках Windows могут появляться в процессе установки программы, когда запущена программа, связанная с .NET Framework NGEN v4.0.30319 (например, Microsoft Windows), при запуске или завершении работы Windows, или даже при установке операционной системы Windows. Отслеживание момента появления ошибки .NET Framework NGEN v4.0.30319 является важной информацией при устранении проблемы.

Зачем нужен Microsoft

Компьютерный блог "DrComp" Зачем нужен Microsoft .Net Framework?

Сегодня при установке любой программы или драйверов под видеокарту например. Каждый пользователь наверняка уже ознакомился с ошибкой, в которой говорится что «приложение не может быть установлено, поскольку в системе отсутствует Microsoft .Net Framework». Ошибка решаема, всего-то требуется скачать с официального сайта Microsoft приложение Microsoft .Net Framework последней версии. Затем установить его и при повторной попытке установить программу, все получится.

Но что это за загадочный Microsoft .Net Framework, зачем его устанавливать и почему без него множество классных программ отказываются работать? В этой статье я постараюсь дать исчерпывающие ответы на поставленные вопросы.

Итак начнем с главного, что такое Microsoft .Net Framework?

Microsoft .Net Framework – это совокупность сетевых сервисов и приложений разработанные корпорацией Microsoft в 2002 году. Microsoft .Net Framework ещё называют операционной системой в операционной системе. Спросите почему? Это уже ответ на другой вопрос.

Зачем его устанавливать и почему без него множество классных программ отказываются работать?

Microsoft .Net Framework создан для решения давней проблемы Windows. Дело в том, что Windows не умеет работать с программами, которые написаны на различных языках программирования. Зато при установке Microsoft .Net Framework, все работает как часы. Это значит, что каждый программист может написать программу на удобном для него языке программирования и запустить её на Windows при помощи Microsoft .Net Framework.

Именно благодаря Microsoft .Net Framework мы пользуемся лучшими программа без ограничения. Можно сказать, что в какой-то степени Семейство операционнох систем Windows стало популярней благодаря Microsoft .Net Framework.

Возможные проблемы связанные с Microsoft .Net Framework

99% известных мне проблем с Microsoft .Net Framework связанно либо с отсутствием самой программы или с устаревшей версией. Сама программа достаточно стабильно работает и редко дает сбой, настроек в ней нет, все работает автоматически. При возникновении проблем, для начала почистите систему от вирусов. Затем с официального сайта скачиваем последнюю версию Microsoft .Net Framework и устанавливаем.

Microsoft .Net Framework программа которая должна быть установлена в каждой системе Windows, в обязательном порядке. Кстати в Windows 7 приложение устанавливается автоматически, так что достаточно всего лишь обновить до последней версии (ссылка дана выше). Обзоры программ работающих только с Microsoft .Net Framework, читайте на блоге о компьютерах и программах. Так что пользуйтесь на здоровье и удачного Вам дня.

NET Framework 4

NET Framework 4.0 NET Framework 4.0

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

Рекомендуем скачать NET Framework с такими новшествами в данном компоненте:

- усовершенствованная модель безопасности с применением технологии так называемой безопасности NET Framework

- полная совместимость с приложениями, которые базируются на более ранних версиях Framework

- возможность запускать несколько предыдущих версий NET Framework в одном процессе

- более качественный контроль использования процессора и памяти отдельных доменов приложений Microsoft .NET Framework

- поддержка фонового сбора мусора net 4.0 framework,в отличии от параллельной, реализованной в предыдущих версиях платформы

- кодовые контракты, повышающие качество тестирования

- новая среда выполнения DLR, расширяющая среду CLR

- улучшена среда CLR и BCL

- улучшена библиотека ADO.NET, для более качественного подключения программ к источнику данных

- усовершенствована технология создания приложений и сервисов ASP.NET

- улучшен Windows Presentation Foundation

- улучшены Windows Workflow Foundation и Windows Communication Foundation

- добавлены новшества в язках C# и Visual Basic

- поддержка более легкой отладки

- поддержка мультисенсорного ввода

- наличие NET Framework поддержки переносимых библиотек классов

- самые новые компоненты параллельного программирования

- целый ряд других усовершенствований и новшеств net framework 4

Минимальные требования для установки NET Framework:

- платформа x86, x64 или ia64

- операционные системы Windows 7, Vista, а также Windows XP Service Pack 3

- процессор с частотой 1 ГГц или выше

- оперативная память 512 МБ или больше

- минимум места на жестком диске для архитектур x86 – 850 МБ, для x64 – 2 ГБ

Рекомендуемое программное обеспечение, нужное для установки Framework 4.0:

- Windows 3.1 установщик или более свежая версия

- Internet Explorer 5 или более свежая версия

NET Framework 4

Отсекая лишнее

Code Access Security, начало

Code Access Security, продолжение

Transparent Code

Sandboxing или игры в песочнице

А теперь – вместе

Строим замки. Из песка

Вопросы безопасности почти всегда являются сложнейшим компонентом любой IT-системы, будь то системы операционные, управления реляционными базами данных (более известные как СУБД), или, как в случае данной статьи, платформы разработки и построения прикладного программного обеспечения. Непростым делом является глубокое понимание этого компонента в любой из обозначенных систем, а грамотная его реализация является, с моей точки зрения, некой «печатью» (hallmark. как выражаются наши коллеги на англоязычных форумах) заверяющей высочайшую квалификацию разработчика или команды, такое приложение создавших. Дело усугубляется еще и тем, что в типичном сценарии обсуждаемый вопрос находится на стыке «зон ответственности»: мало того, что приложение должно быть грамотно «обезопасено» тем самым квалифицированным разработчиком, так еще на целевой машине ее администратор (желательно не менее квалифицированный) должен настроить не менее безопасное окружение, в котором это приложение будет выполняться. Потому как если последний возьмет на вооружение простой и понятный (хоть и совершенно неправильный) подход «всем можно все», то можно уверенно сказать: разработчик зря потратил недели и месяцы своего труда, настраивая и проверяя все нюансы безопасной работы своего приложения. Администратор может быть также приверженцем противоположного подхода, который утрировано можно выразить как «никому нельзя ничего». Кстати, вполне здравый подход, по крайней мере как первая фаза построения безопасной IT-инфраструктуры предприятия. Как бы то ни было, разработчику, пишущему код управления безопасностью приложения, все время приходится держать в голове вопросы типа «а что такого может выставить в настройках администратор целевой машины, что вся моя стройная система перестанет работать»?

В .NET Framework. одной из систем, подверженных все тем же трудностям security-«состыковки», с самого начала было приложено очень немало усилий, дабы совместная работа двух обозначенных выше IT-профессионалов протекала максимально гладко, но не в ущерб безопасности кода как такового. Был разработан даже целый новый «вектор» приложения усилий в этом направлении – Code Access Security (он же CAS), авторизующий на доступ к защищаемому ресурсу не пользователя (классический подход), а сам код как таковой. Идея была зело хороша, а вот ее реализация… Ну, скажем так, получилась неоднозначной. Почему оно так получилось, пойдет речь в следующей главе, Code Access Security, начало. Но, как бы то ни было, все так и катилось вплоть до последней, 4-й версии платформы .NET Framework, в которой CAS получил буквально второе рождение, так как, фактически, был пересмотрен и перестроен чуть ли не с самого фундамента. Самое главное, с точки зрения автора, что “CAS ver. 4.0” стал гораздо понятнее, а вследствие того, гораздо практичнее для применения даже в относительно простых проектах, авторы которых до того не считали возможным применения этого механизма в силу как сложности его реализации, так и последующей поддержки на конечной машине. В новой версии была пересмотрена сама идеология ограничения доступа к коду и, что приятно, удалены множественные сущности, фигурировавшие в предыдущих версиях этой технологии, и делающие ее столь сложной для изучения. Новый вариант CAS-безопасности значительно компактнее, логичнее, более управляем, да и просто более “прозрачен”.

В данной статье автор сначала кратко рассмотрит архитектуру CAS версий предыдущих (до 4.0), дабы читатели «со стажем» могли вспомнить (а может, и просто узнать) исходную точку, с которой все началось. После такого легкого «экскурса в прошлое» мы перейдем к Code Access Security в версии .NET 4.0 и сравним – что же нового появилось и, что может даже важнее, что же было удалено из этой подсистемы безопасности. Нас также ждут довольно интенсивные практические работы с кодом (все примеры написаны на C#), призванные полнее раскрыть концепции нового подхода и показать «подводные камни» его применения к реальным приложениям. Не обойдется и без этаких «мини-тестов», когда надо будет предсказать поведение демонстрационного приложения без его запуска. Правильный ответ подтвердит корректное понимание теории того или иного аспекта безопасного кода. Разумеется, после ответа «вслепую» нужно запустить приложение и проверить догадку практикой.

Надеюсь, что знакомство с «новым-старым» инструментом безопасности будет приятным и, самое главное, понятным для читателей практически любого уровня знакомства с платформой .NET как версии текущей, так и любой из предыдущих. Разумеется, автор не рискнет предложить данную статью как базовый учебник C#/.NET Framework, все же вопросы безопасности всегда входили (и продолжают) в категорию «advanced». Тем не менее, материал будет излагаться настолько простым языком, насколько это в принципе возможно при изложении непростых концепций. Интересного и познавательного чтения!

Code Access Security, начало

Давайте бросим беглый взгляд на дела «давно минувших дней» и постараемся очень кратко обрисовать вопрос – как все было раньше? Хотя, возможно, более правильно даже сказать «как есть сейчас»? Поскольку .NET 4-й еще не настолько «заматерел», чтобы безоговорочно выпихнуть из сектора разработки ПО своих младших собратьев… Ну, как бы то ни было, но вплоть до последней версии платформы компонент CAS оперировал несколькими основополагающими сущностями:

  • Свидетельство или доказательство (оно же evidence ) – характерная черта, «метка» сборки (assembly ), которой она пытается убедить среду исполнения CLR в своей принадлежности той или иной кодовой группе (code group ). Бывает двух основных типов: происхождение сборки (пример – URL или Zone ) и подпись сборки (пример – Strong Name или Hash ).
  • Кодовая группа (она же code group ) – «мостик» между доказательством и связанным с ним набором разрешений (set of permissions. permissions set ). Все сборки, попавшие в данную кодовую группу, будут иметь одинаковые полномочия (полномочия как раз и есть те самые наборы). Framework поставляется с несколькими предопределенными группами (пример – Internet_Zone или Restricted_Zone ).
  • Условие членства (оно же membership conditions ) – атрибут кодовой группы. Сообщает, какие именно свидетельства должна предоставить сборка, претендующая на свою включение в ту кодовую группу, к которой относится данный membership conditions. Скажем, предопределенная группа 'Microsoft Strong Name' имеет в качестве условия членства в ней наличие у сборки строгого имени, присвоенного компанией Microsoft. Если у загружаемой сборки таковой подписи не наблюдается – у нее нет ни единого шанса попасть в столь уважаемую кодовую группу.
  • Набор разрешений (он же set of permissions или permissions set ) – контейнер, содержащий одно и более разрешение (permission ). И снова, Framework поставляется с несколькими предопределенными наборами (пример – Internet или Everything );
  • Разрешение (оно же permission ) – центральная, пожалуй, сущность всей технологии. Это то, что должна иметь сборка, желающая получить доступ к критичным (с точки зрения безопасности) ресурсам системы. И, как вы уже догадываетесь или просто знаете, Framework вновь поставляется с целой россыпью таких разрешений (например, FileIOPermission или RegistryPermission ).

Далее, чтобы все это хозяйство себя проявило, и мы получили бы с него реальные выгоды, требовались усилия двух человек как минимум – разработчика и администратора. Первый применял CAS в своем коде двумя путями:

  • декларативным. например, так: