Сборки и глобальный кэш сборок (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 можно путем копирования его файлов на конечный компьютер.
Дополнительные сведения см. в разделе Манифест сборки.
Добавление ссылки на сборку
Чтобы использовать сборку, необходимо добавить ссылку на нее, как описано в разделе Практическое руководство. Добавление и удаление ссылок в Visual Studio. После этого необходимо с помощью инструкции 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#
Дружественные сборки (C# и Visual Basic)