пользователей: 30398
предметов: 12406
вопросов: 234839
Конспект-online
РЕГИСТРАЦИЯ ЭКСКУРСИЯ

Взаимодействие сборки с неуправляемым кодом. Развертывание сборок. Совместное исполнение сборок. Понятие домена.

Можно создать однофайловую или многофайловую сборку с помощью интегрированной среды разработки IDE, такой как Visual Studio 2005, или с помощью компиляторов и средств, предоставляемых Windows SDK. Простейшая сборка представляет собой один файл, имеющий простое имя и загружаемый в единственный домен приложения. На эту сборку нельзя ссылаться из других сборок, находящихся вне папки приложения; кроме того, к ней неприменим механизм проверки версий. Для удаления приложения, состоящего из сборки, достаточно просто удалить папку, в которой оно располагается. Для большинства разработчиков сборки с такими возможностями достаточно для развертывания приложения.

Многофайловую сборку можно создать на основе нескольких модулей кода и файлов ресурсов. Кроме того, можно создать сборку, которая будет совместно использоваться несколькими приложениями. Совместно используемая сборка должна иметь строгое имя и должна быть развернута в глобальном кэше сборок.

Существует несколько способов объединения модулей кода и ресурсов в сборки; способ зависит от следующих факторов:

  • Управление версиями.

Объединение модулей, имеющих одни и те же сведения о версии.

  • Развертывание

Объединение модулей кода и ресурсов, поддерживающих данную модель развертывания.

  • Повторное использование

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

  • Безопасность

Объединение модулей, содержащих типы, которым требуются одни и те же разрешения безопасности.

  • Область видимости

Объединение модулей, содержащих типы, область видимости которых должна быть ограничена этой же сборкой.

Необходимо обратить особое внимание при предоставлении доступа к сборкам среды CLR из неуправляемых COM-приложений. Дополнительные сведения о работе с неуправляемым кодом содержатся в разделе Exposing .NET Framework Components to COM.

 Взаимодействие кодом:

— управляемый код может вызывать направляемую функцию из DLL посредствам P/Invoke (например CreateSemaphore из Kernel32.dll).

— управл код может использ существующий COM-компонент (сервер).

— неуправляемый код может использовать управляемый тип (сервер). Можно реализовать COM — компоненты в управляемой среде и тогда не нужно вести подсчет ссылок интерфейсов.

Развертывание сборки может быть закрытым или глобальным. Сборку с закрытым развертыванием развертывают в базовом каталоге приложения или в одном из его подкаталогов. Для сборки с нестрогим именем возможно лишь закрытое развертывание.

Сборку с глобальным развертыванием развертывают в каком-либо общеизвестном каталоге, который CLR проверяет при поиске сборок. Такие сборки можно развертывать как закрыто, так и глобально.

 

 

 

 

 


11.01.2019; 16:36
хиты: 118
рейтинг:0
для добавления комментариев необходимо авторизироваться.
  Copyright © 2013-2024. All Rights Reserved. помощь