Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Номер версии в .NET




Подготовил: Петранков Ю.А. гр 751002

Не хватает 1 – 4, 12 – 15, 30 – 34 вопросов.

По всему остальному, что не отмечено красным цветом, теория присутствует в достаточном количестве - некоторые вопросы, возможно, даже на 10.

 

Пользуйтесь.


Вопрос № 5:

Сборки (assembly) в среде .NET. Проблема версионности сборок и ее решение.

 

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

В рамках технологии .NET — двоичный файл, содержащий управляемый код. Когда компилятор платформы .NET создает EXE или DLL модуль, содержимое этого модуля называется сборкой. Сборка содержит в себе: номер версии, метаданные и инструкции IL.

 

Номер версии в .NET

Номер версии сборки в .NET состоит из двух частей: информационной версии в виде строки и версии совместимости в виде идентификатора из четырёх целых чисел. Например, мы создали сборку с информационной версией TheNewAssembly. Предположим, что её версия совместимости выглядит так: 1.35.6.2, где:

- Первый идентификатор — основной номер версии.

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

- Третий идентификатор — номер сборки.

- Четвёртый идентификатор — номер редакции.

 

Сборки имеют следующие свойства:

1. Сборки реализованы как EXE- или DLL-файлы.

2. Сборки можно поместить в глобальный кэш сборок, чтобы обеспечить их использование несколькими приложениями.

3. В глобальный кэш сборок могут быть включены только сборки со строгими именами.

4. Сборки загружаются в память только по мере необходимости.

5. Для программного получения сведений о сборок используется класс reflection. Дополнительные сведения см. в разделе класс Reflection.

6. Если нужно загрузить сборку только для ее проверки, используйте метод, подобный ReflectionOnlyLoadFrom.

 

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

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

Сборки, строгие имена которых совпадают, считаются идентичными.

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

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

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

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

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

 

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

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

Среда выполнения предпринимает несколько шагов для разрешения запроса привязки сборок.

1. Проверяет исходную ссылку на сборку для определения версии сборки, с которой будет связано приложение.

2. Проверяет все применимые файлы конфигурации для использования политики управления версиями.

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

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

 

Разрешение запроса привязки сборки:


Поделиться:

Дата добавления: 2015-04-21; просмотров: 77; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.005 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты