Общие сведения о сборках
Обновлен: Ноябрь 2007
Сборки представляют собой фундаментальную часть программирования с использованием платформы .NET Framework. Сборка обладает следующими свойствами.
Содержит код, выполняемый средой CLR. При отсутствии манифеста сборки код на промежуточном языке MSIL, находящийся в переносимом исполняемом (PE) файле, выполняться не будет. Имейте в виду, что каждая сборка может иметь только одну точку входа (т. е. DllMain , WinMain или Main ).
Создает границу безопасности. Сборка представляет собой единицу, для которой запрашиваются и предоставляются разрешения. Дополнительные сведения о границах безопасности и их применении к сборкам см. в разделе Вопросы безопасности сборок.
Создает границу типов. Каждое удостоверение типа включает имя сборки, в которой располагается данный тип. Тип с именем MyType, загруженный в области действия одной сборки, не совпадает с типом MyType, загруженным в области действия другой сборки.
Создает границу, ограничивающую область действия ссылок. Манифест сборки содержит метаданные, используемые для разрешения типов и для выполнения связанных с ресурсами запросов. В манифесте указываются экспортируемые за пределы сборки типы и ресурсы. Кроме того, в манифесте перечисляются другие сборки, от которых он зависит.
Создает границу версий. Сборка является наименьшей единицей в среде CLR, которая может иметь версии. Все типы и ресурсы в одной сборке с точки зрения отслеживания версий представляют собой единое целое. В манифесте сборки описываются зависимости определенных версий от других сборок. Дополнительные сведения об управлении версиями см. в разделе Управление версиями сборки.
Формирует единицу развертывания. При запуске приложения могут присутствовать лишь сборки, первоначально вызываемые приложением. Другие сборки, например ресурсы локализации или сборки, содержащие вспомогательные классы, могут извлекаться по требованию. Это позволяет приложениям сохранять простую структуру и малый размер при первоначальной загрузке. Дополнительные сведения о развертывании сборок см. в разделе Развертывание приложений.
Сборка является единицей, для которой поддерживается параллельное выполнение. Дополнительные сведения о выполнении нескольких версий сборок см. в разделе Сборки и параллельное выполнение.
Сборки могут быть статическими или динамическими. Статические сборки могут включать в себя типы платформы .NET Framework (интерфейсы и классы), а также ресурсы сборки (рисунки, JPEG-файлы, файлы ресурсов и т.д.). Статические сборки хранятся на диске в виде переносимых исполняемых (PE) файлов. Кроме того, платформу .NET Framework можно использовать для создания динамических сборок, которые запускаются непосредственно из памяти и не сохраняются на диск перед выполнением. Динамические сборки можно сохранить на диске после выполнения.
Существует несколько способов создания сборок. Можно использовать средства разработки, такие как Visual Studio 2005, которые раньше использовались для создания DLL- или EXE-файлов. Чтобы создать сборки с использованием модулей, созданных в других средствах разработки, можно воспользоваться средствами SDK (пакет средств разработки программного обеспечения) для Windows. Для создания динамических сборок также можно использовать интерфейсы CLR такие, как Reflection.Emit.
См. также
Основные понятия
Сборки и параллельное выполнение