Типы оградительных сооружений в морском порту: По расположению оградительных сооружений в плане различают волноломы, обе оконечности...
Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...
Топ:
Проблема типологии научных революций: Глобальные научные революции и типы научной рациональности...
Характеристика АТП и сварочно-жестяницкого участка: Транспорт в настоящее время является одной из важнейших отраслей народного...
Характеристика АТП и сварочно-жестяницкого участка: Транспорт в настоящее время является одной из важнейших отраслей народного хозяйства...
Интересное:
Национальное богатство страны и его составляющие: для оценки элементов национального богатства используются...
Наиболее распространенные виды рака: Раковая опухоль — это самостоятельное новообразование, которое может возникнуть и от повышенного давления...
Отражение на счетах бухгалтерского учета процесса приобретения: Процесс заготовления представляет систему экономических событий, включающих приобретение организацией у поставщиков сырья...
Дисциплины:
2017-12-21 | 201 |
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
Манифест сборки.
Манифест – метаданные, которые описывают саму сборку. В манифесте документируются все внешние сборки, которые требуются текущей сборке для корректного функционирования, версия сборки, информация об авторских правах и т.д. Как и за генерацию метаданных типов, за генерацию манифеста сборки всегда тоже отвечает компилятор.
Для того чтобы сборки действительно были независимыми от системы и от других сборок, необходимо, чтобы они сопровождались явным описанием предоставляемых ими сервисов и зависимостей от внешнего мира. Роль такого описания выполняет так называемый манифест сборки.
В манифесте должны быть перечислены все файлы и модули, из которых состоит данная сборка, а также должны быть четко прописаны все интерфейсы со внешним миром. Кроме того, манифест должен указывать, каким образом реализуются обращения к типам и ресурсам, экспортируемым из данной сборки. Естественно, что впоследствии во время компиляции и загрузки необходимо будет учесть и разрешить все внешние зависимости данного приложения.
Таким образом, манифест является тем инструментом, который позволяет скрыть от потребителя детали реализации. Именно благодаря этому механизму каждая сборка является самодостаточной и не требует привлечения внешних средств, таких как реестр. Это позволяет в большинстве случаев свести установку приложения к простому копированию.
|
Уникальность сборки
Каждая сборка имеет уникальное имя, которое состоит из следующих частей: префикса, основанного на открытом ключе разработчика, простого текстового имени, номера версии и информации о локализации. Некоторые сборки могут иметь только простое текстовое имя, но в таких случаях их можно использовать только как часть другого приложения (так как иначе нельзя гарантировать их уникальность).
|
|
Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...
Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...
История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...
Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!