Сборки и глобальный кэш сборок (C# и Visual Basic)

Сборки образуют базовую единицу развертывания, управления версиями, повторного использования, областей действия активации и разрешений безопасности для приложений на основе .NET. Сборки принимают форму исполняемого файла (EXE) или файла библиотеки динамической компоновки (DLL); они являются стандартными блоками платформы .NET Framework. Среда CLR получает от них сведения, необходимые для реализации типов. Сборку можно представить как коллекцию типов и ресурсов, формирующих логическую единицу функциональности и собранных для совместной работы.

Сборки могут содержать один или несколько модулей. Например, крупные проекты могут быть спланированы таким образом, чтобы несколько разработчиков работали каждый над своим модулем, а вместе эти модули образовывали одну сборку. Дополнительные сведения о модулях см. в разделе Практическое руководство. Создание многофайловой сборки.

Сборки имеют следующие свойства.

  • Сборки реализованы как EXE- или DLL-файлы.

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

  • Сборки загружаются в память только по мере необходимости. Если сборки не используются, они не загружаются. Благодаря этому сборки обеспечивают эффективное управление ресурсами в крупных проектах.

  • Для программного получения сведений о сборок используется класс reflection. Дополнительные сведения см. в разделе Reflection.

  • Если нужно загрузить сборку только для ее проверки, используйте метод, подобный ReflectionOnlyLoadFrom.

Манифест сборки

Каждая сборка содержит манифест сборки. Подобно содержанию манифест сборки содержит следующее:

  • Идентификатор сборки (ее имя и версию).

  • Таблицу файлов, в которой описаны все другие файлы, образующие сборку, например, любые другие сборки, с которыми связаны EXE-файлы или библиотеки DLL, или даже точечные рисунки или файлы Readme.

  • Список ссылок на сборки, который представляет собой список всех внешних зависимостей — файлов библиотек DLL или других необходимых приложению файлов, которые могли быть созданы кем-либо еще. Ссылки на сборки содержат ссылки как на закрытые, так и на глобальные объекты. Глобальные объекты находятся в глобальном кэше сборок, в области, доступной для других приложений, подобно каталогу System32. Пространство имен Microsoft.VisualBasic — это пример сборки в глобальном кэше сборок. Закрытые объекты должны быть в каталоге на том же или более низком уровне, что и каталог, в котором установлено данное приложение.

Поскольку сборки содержат сведения о содержимом, отслеживании версий и зависимостях, то правильность работы приложений, создаваемых с помощью языков Visual Basic и C#, не зависит от значений реестра. Сборки уменьшают конфликты библиотек DLL и делают приложение более надежным и простым для развертывания. Во многих случаях установить приложение на основе .NET можно путем копирования его файлов на конечный компьютер.

Дополнительные сведения см. в разделе Манифест сборки.

Добавление ссылки на сборку

Чтобы использовать сборку, необходимо добавить ссылку на нее, как описано в разделе Практическое руководство. Добавление и удаление ссылок с помощью диалогового окна "Добавление ссылок". После этого необходимо с помощью инструкции Imports в Visual Basic или директивы using в C# выбрать пространство имен элементов, которые требуется использовать. После получения ссылки на сборку и импорта сборки, все доступные классы, свойства, методы и другие члены ее пространства имен становятся доступными приложению, как будто их код является частью исходного файла.

В C# можно также использовать две версии одной и той же сборки в одном приложении. Дополнительные сведения см. в разделе псевдоним extern.

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

Скомпилируйте приложение, выбрав команду Построить в меню Построение, или постройте его из командной строки, используя компилятор командной строки. Сведения о построении сборок из командной строки см. в разделе Построение из командной строки (Visual Basic) для Visual Basic и Построение из командной строки с помощью csc.exe для C#.

См. также

Задачи

Практическое руководство. Совместное использование сборки с другими приложениями (C# и Visual Basic)

Практическое руководство. Загрузка и выгрузка сборок (C# и Visual Basic)

Практическое руководство. Определение, является ли файл сборкой (C# и Visual Basic)

Практическое руководство. Создание и использование сборок с помощью командной строки (C# и Visual Basic)

Пошаговое руководство. Внедрение данных о типах из управляемых сборок (C# и Visual Basic)

Пошаговое руководство. Внедрение данных о типе из сборок для приложений Microsoft Office (C# и Visual Basic)

Основные понятия

Руководство по программированию на C#

Дружественные сборки (C# и Visual Basic)

Другие ресурсы

Руководство по программированию на Visual Basic

Сборки в среде CLR