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