Создание сборок

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

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

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

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

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

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

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

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

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

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

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

  • Scoping

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

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

См. также