Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...
Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...
Топ:
Оснащения врачебно-сестринской бригады.
Эволюция кровеносной системы позвоночных животных: Биологическая эволюция – необратимый процесс исторического развития живой природы...
Устройство и оснащение процедурного кабинета: Решающая роль в обеспечении правильного лечения пациентов отводится процедурной медсестре...
Интересное:
Влияние предпринимательской среды на эффективное функционирование предприятия: Предпринимательская среда – это совокупность внешних и внутренних факторов, оказывающих влияние на функционирование фирмы...
Лечение прогрессирующих форм рака: Одним из наиболее важных достижений экспериментальной химиотерапии опухолей, начатой в 60-х и реализованной в 70-х годах, является...
Финансовый рынок и его значение в управлении денежными потоками на современном этапе: любому предприятию для расширения производства и увеличения прибыли нужны...
Дисциплины:
|
из
5.00
|
Заказать работу |
Содержание книги
Поиск на нашем сайте
|
|
|
|
Для создания строгого имени сборки сначала генерируются данные открытого и
секретного ключей с помощью поставляемой в составе.NET Framework 4.0 SDK
утилиты sn. ехе. (Эта утилита генерирует файл, который обычно оканчивается расширением *. snk (Strong Name Key — ключ строгого имени) и содержит данные для двух разных, но математически связанных ключей — "открытого" и "секретного".)
После указания местонахождения этого файла *. snk компилятору С# тот запишет полное значение открытого ключа в манифест сборки с использованием дескриптора.publickey.
Компилятор С# генерирует на основе всего содержимого сборки (CIL-кода, метаданных и т.д.) соответствующий хеш-код. (хеш-кодом называется числовое значение, которое является статистически уникальным для фиксированных входных данных.)
Следовательно, в случае изменения какого-то аспекта сборки.NET (даже одного символа в строковом литерале), компилятор выдает другой хеш-код. Далее этот хеш-код объединяется с содержащимися внутри файла *. snk данными секретного ключа для получения цифровой подписи, вставляемой в сборку внутрь данных заголовка CLR.

Назначение и применение утилиты sn.exe
Для создания строгого имени сборки сначала генерируются данные открытого и секретного ключей с помощью утилиты sn.exe поставляемой в составе.NETFramework 4.0 SDK. Эта утилита генерирует файл, который обычно оканчивается расширением *.snk (StrongNameKey– ключ строгого имени) и содержит данные для двух разных, но математически связанных ключей – «открытого» и «секретного». После указания местонахождения этого файла *.snk компилятору С# тот запишет полное значение открытого ключа в манифест сборки с использованием дескриптора publickey.
Установка разделяемой сборки.
Назначение и применение утилиты gacutil.exe
Как и одноименное средство от Microsoft, утилита gacutil из состава Mono может устанавливать и удалять сборки, а также выводить список сборок, установленных в кэше C:\ProgramFiles\Mono-<версия>\lib\mono\gac. Следующая команда развертывает сборку CorLibDumper.dllв GAC и регистрирует ее в компьютере как общедоступную сборку:
gacutil –ICorLibDumper.dll
Если после выполнения этой команды открыть каталог \gac, то вы увидите там новую папку с именем CorLibDumper. Эта папка определяет подкаталог.
Опция –l утилиты gacutil выводит список всех сборок в MonoGAC.
Назначение и применение утилиты ildasm.exe
Манифест сборки.
Манифест – метаданные, которые описывают саму сборку. В манифесте документируются все внешние сборки, которые требуются текущей сборке для корректного функционирования, версия сборки, информация об авторских правах и т.д. Как и за генерацию метаданных типов, за генерацию манифеста сборки всегда тоже отвечает компилятор.
Для того чтобы сборки действительно были независимыми от системы и от других сборок, необходимо, чтобы они сопровождались явным описанием предоставляемых ими сервисов и зависимостей от внешнего мира. Роль такого описания выполняет так называемый манифест сборки.
В манифесте должны быть перечислены все файлы и модули, из которых состоит данная сборка, а также должны быть четко прописаны все интерфейсы со внешним миром. Кроме того, манифест должен указывать, каким образом реализуются обращения к типам и ресурсам, экспортируемым из данной сборки. Естественно, что впоследствии во время компиляции и загрузки необходимо будет учесть и разрешить все внешние зависимости данного приложения.
Таким образом, манифест является тем инструментом, который позволяет скрыть от потребителя детали реализации. Именно благодаря этому механизму каждая сборка является самодостаточной и не требует привлечения внешних средств, таких как реестр. Это позволяет в большинстве случаев свести установку приложения к простому копированию.
Уникальность сборки
Каждая сборка имеет уникальное имя, которое состоит из следующих частей: префикса, основанного на открытом ключе разработчика, простого текстового имени, номера версии и информации о локализации. Некоторые сборки могут иметь только простое текстовое имя, но в таких случаях их можно использовать только как часть другого приложения (так как иначе нельзя гарантировать их уникальность).
|
|
|
Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...
Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...
Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьшения длины пробега и улучшения маневрирования ВС при...
Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...
© cyberpediasu.com 2017-2026 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!