Версия сборки Номер версии сборки имеет формат major.minor.build.revision. Например, 2.3.0.0 Значения major(старший), minor(младший), build (компоновка)

Презентация:



Advertisements
Похожие презентации
Ресурсы WPF Два типа ресурсов WPF: объектные ресурсы (object resource) – определенный.NET-объект, который можно использовать многократно; ресурсы сборки.
Advertisements

Отражение (reflection) Отражение – получение из метаданных информации о типах, определенных в сборке. Классы, поддерживающие механизм отражения, находятся.
СборкиReflection Лекция 8. Сборки Reflection Сборки Reflection.
АтрибутыСериализация Лекция 10. Атрибуты Сериализация.
Модуль 3: Настройка и установка сборок. Обзор Работа с сборками Обеспечение доступа к сборкам, GAC Установка сборок с помощью Installation Types Настройка.
АССОЦИАТИВНЫЕ КОЛЛЕКЦИИ Лекция 6 1. Отличие от последовательных 2 В последовательной коллекции каждый элемент ассоциируется с номером, начиная с 0. В.
ФИЛОСОФИЯ.NET Любому современному программисту, который желает идти в ногу с последними веяниями, каждые несколько лет приходится переучиваться.
С# и ООП Формальное определение класса с C# Класс в C# - это пользовательский тип данных (user defined type), который состоит из данных (часто называемых.
ДонНУ, кафедра КТ, проф.В.К.Толстых Технологии разработки Internet- приложений ASP.NET приложения: Безопасность – аутентификация Из цикла лекций «Технологии.
Коллекции классов Лекция 12. С помощью коллекций вместо создания структур данных программист использует готовые структуры данных, не заботясь об их реализации.
Тренинг «Разработка веб-приложений на ASP.NET» Занятие 1 Знакомство с ASP.NET Гайдар Магдануров
EXtreme Programming XP Тема 7. XP Ant – инструмент для создания, развертывания, запуска программ Java, создания базы данных, выполнения различных проверок.
Основы ООП и C# Работа с объектами и классами. Классы Класс специальный тип данных для описания объектов. Он определяет данные и поведение типа. Определение.
Проф. В.К.Толстых, Технологии разработки Internet- приложений ASP.NET приложения – локализация ресурсов приложения Из цикла лекций «Технологии.
Наследование Наследование – это отношение является между классами. class Person { string first_name; int birth_year;... } class Student : Person { float.
Обобщения ( generics) Обобщения – это классы, структуры, интерфейсы и методы, в которых некоторые типы сами являются параметрами. Эти типы перечисляются.
Проф. В.К.Толстых, Технологии разработки Internet- приложений ASP.NET приложения – Модули HTTP, фильтры, события приложения - Global.asax.
Совместное использование Windows- приложений. OLE-технология OLE-технология (Object Linking and Embedding)– технология внедрения и связывания объектов.
Ekaterina B. Egorkina,© VEELTECH.RU Загрузка и вывод изображений Каким образом можно сохранить картинку в БД, а потом отобразить ее на странице?
Файловый ввод- вывод данных в Pascalе Средства обработки файлов 11 класс.
Транксрипт:

Версия сборки Номер версии сборки имеет формат major.minor.build.revision. Например, Значения major(старший), minor(младший), build (компоновка) и revision(ревизия) – неотрицательные целые числа. Значения старших и младших номеров должны обязательно присутствовать в номере версии сборки. Номер версии можно задать с помощью атрибута [ AttributeUsageAttribute(AttributeTargets.Assembly, Inherited=false)] public sealed class AssemblyVersionAttribute : Attribute [assembly: AssemblyVersion(" ")] Атрибут имеет один обязательный параметр – строка в формате major.minor.build.revision или major.minor.*. Например,

Соглашения о номере версии сборки Приняты следующие соглашения относительно версий сборки: Major Сборки с одним и тем же именем, но с разными значениями старшего номера версии не взаимозаменяемы. Например, значение major заменяется, если нет обратной совместимости с предыдущей версией. Minor Сборки с совпадающими именами и старшими номерами, которые отличаются младшими (minor) номерами, предполагают полную обратную совместимость с предыдущей версией. Build Отличие в номере компоновки означает перекомпиляцию одного и того же исходного файла для разных процессоров, платформ или другого компилятора. Revision Сборки с совпадающими именами, старшими и младшими номерами, но с разными ревизиями(revisions) полностью взаимозаменяемы. Это версии с небольшими изменениями и исправлениями, связанными, например, с решением проблем защиты в предыдущих версиях.

Строгое имя сборки.NET Framework поддерживает два вида сборок с нестрогими именами (weakly named); cо строгими именами (strong named). По умолчанию при компиляции создаются сборки с нестрогими именами (weakly named). Для сборки с нестрогим именем разрешено только закрытое (private) развертывание – в обычном каталоге. Для идентификации сборки с нестрогим именем CLR использует только имя из декларации сборки. При создании сборки со строгим именем (strongly named) используется криптографическая пара – открытый и закрытый ключи. Для сборки со строгим именем разрешено как закрытое, так и открытое развертывание – в глобальном кэше сборок (Global Assembly Cache - GAC). Для идентификации сборки со строгим именем CLR использует имя сборки, открытый ключ, номер версии и строку региональных стандартов (если она есть).

Сборки со строгим именем Для сборки со строгим именем необходимо сгенерировать пару ключей (открытый и закрытый). Это можно сделать с помощью утилиты SN.exe; встроенных средств Visual Studio В результате будет создан файл, содержащий криптографическую пару ключей - открытый и закрытый ключи в двоичном формате. Чтобы подписать сборку строгим именем, в исходный текст сборки достаточно добавить атрибут Компилятор подпишет сборку закрытым ключом и встроит открытый ключ в декларацию сборки. [assembly: AssemblyKeyFile(Имя_файла.keys)]

Сборки со строгим именем -2 Когда сборка подписывается закрытым ключом: при компоновке для каждого файла сборки рассчитывается хэш содержимого файла и вместе с именем файла сохраняется в декларации сборки; после компоновки исполняемого PE-файла рассчитывается хэш содержимого файла с декларацией; значение хэша подписывается закрытым ключом и результат (цифровая подпись RSA) заносится в PE-файл; открытый ключ заносится в PE-файл. Строгое имя сборки (имя файла, версия сборки, региональные стандарты и открытый ключ) гарантировано является уникальным. В таблице ссылок на другие сборки хранятся не открытые ключи, а маркеры открытого ключа - последние 8 байт хэша открытого ключа.

Сборки со строгим именем -3 Подписание сборки закрытым ключом защищает сборку от модификации, так как при установке сборки в GAC Windows вычисляет хэш файла сборки, в котором находится декларация, и сравнивает полученное значение с цифровой подписью RSA, встроенной в PE-файл, используя открытый ключ, который тоже находится в PE-файле. система вычисляет хэш-значения содержимого остальных файлов сборки и сравнивает их с теми значениями, которые хранятся в декларации. если хотя бы одно значение не совпадает, сборка не будет установлена в GAC. В Visual Studio 2008 есть встроенные средства для создания сборки со строгим именем: Project / Properties / Signing / Sign the assembly

Информация о сборке в процессе выполнения Информацию о сборке при выполнении приложения можно получить с помощью механизма отражения. В классе System.Type определено свойство public virtual string FullName { get; } // Имя сборки public bool GlobalAssemblyCache { get; } // Загружена из GAC public virtual string ImageRuntimeVersion { get; } // Версия CLR для сборки public abstract Assembly Assembly { get; } Класс Assembly можно использовать для загрузки сборок; анализа метаданных сборки; создания объектов определенных в сборке типов. Некоторые свойства класса Assembly

Информация о версии сборки Информацию о версии сборки при выполнении приложения можно получить с помощью метода класса Assembly public Version Version { get; set; } public CultureInfo CultureInfo { get; set; } public string Name { get; set; } public byte[] GetPublicKey (); public virtual AssemblyName GetName (); Класс AssemblyName содержит простое имя (simple name); номер версии (version number); открытый/закрытый ключи(cryptographic key pair); региональные стандарты (supported culture). Доступ к информации дают свойства и методы класса AssemblyName: