Добавил:
выбрасываю тут свой мусор, надеюсь, что он кому-то может пригодится... Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OOP-KONEChNYJ.docx
Скачиваний:
20
Добавлен:
03.12.2023
Размер:
7.72 Mб
Скачать

15. Развертывание net-приложений. Развертывание xcopy и управление встроенными каталогами. Понятие строгого имени и развертывание общих сборок.

Развертывание NET-приложений

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

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

XCOPY

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

В развертывании через xcopy нет ничего замысловатого. Команда получила свое название от одноименной команды DOS. Она копирует каталог со всем содержимым в заданный каталог. В некоторых случаях достаточно и этого просто случая.

Развертывание общих сборок

При установке .NET Framework создает на компьютере централизованный репозиторий сборок — глобальный кэш сборок (Global Assembly Cache — GAC). GAC содержит сборки самой платформы .NET Framework, и в него также можно добавлять собственные сборки. Основной особенностью GAC является централизованная поддержка версий (множество версий того же самого компонента могут постоянно находиться в кэше сборок рядом друг с другом.). После загрузки сборки в GAC приложения могут ссылаться на нее, не нуждаясь в локальной копии. При этом если локальная копия присутствует, она будет проигнорирована в пользу сборки из GAC.

Глобальный кэш сборок содержит общедоступные сборки, которые являются глобально доступными для всех .NET-приложений на машине.

Местоположение кэша сборок отличается в зависимости от версии .NET, установленной на локальной машине. До .NET 4.0 глобальный кэш находился в каталоге C:\Windows\assembly. Начиная же с версии .NET 4.0 кэш сборок размещается по пути C:\Windows\Microsoft.NET\assembly\GAC_MSIL

Строгие имена

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

  • уникальный номер, принадлежащий автору сборки

  • подписанный хэш сборки, доказывающий, что сборка создана владельцем уникального номера

Достигается это с помощью пары открытого и секретного ключей. Открытый ключ как раз и представляет собой уникальный номер автора; он указывается в полностью заданном имени сборки. Секретный ключ используется для создания подписанного хэша.

Благодаря строгому имени гарантируется уникальность сборки в глобальном кэше.

Соседние файлы в предмете Объектно-ориентированное программирование