* При перепечатке материалов ссылка на www.SeoLiga.ru обязательна!
Сборки
8 февраля 2009
Сборки представляют собой основные строительные блоки .NET-приложений. Они содержат типы и ресурсы, составляющие приложение, и описывают их для обще- языковой исполняющей среды (Common Language Runtime, CLR). Сборки обеспечи- вают многократное использование кода, управление версиями и защиту приложе- ний, а также облегчают их развертывание.
Проще говоря, сборка — это проект, скомпилированный в ЕХЕ- или DLL-файл, Хотя внешне эти файлы не отличаются от тех, что создавались прежними версиями средств разработки, внутренняя структура этих файлов совершенно иная. Сборка состоит из четырех компонентов: • декларации сборки (ее метаданных) — сведений о сборке, необходимых CLR; • метаданных типов — сведений о типах, хранящихся в данной сборке; • кода на промежуточном языке; • ресурсов — неисполняемых данных, таких, как строки или изображения, специ- фичных для культуры. Декларация сборки содержит метаданные, описывающие сборку для CLR, кото- рая использует их для принятия решений, касающихся исполнения данной сборки. Декларация включает: • идентификационные данные сборки — ее имя, номер версии и ряд дополнитель- ных сведений, таких, как поддерживаемая культура и цифровая подпись; • список типов и ресурсов — в декларации перечислены все типы, которые CLR может вызвать из этой сборки, и указан способ получения доступа к ним; • файлы — полный список составляющих сборку файлов с указанием зависимос- тей между ними; • разрешения — все разрешения, требуемые данной сборкой. Если локальная по- литика безопасности не позволяет получить запрошенные разрешения, испол- нение кода сборки становится невозможным. Как правило, разработчику не требуется разбираться в структуре декларации сборки — она создается и используется CLR автоматически. Тем не менее ему при- дется явно определить метаданные, которые описывают идентифицирующие сбор- ку сведения. Эти данные содержатся в файле Assemblylnfo.vb (Assemblylnfo.cs), который вхо- дит в состав проекта. Чтобы определить идентификационные данные сборки, щел- кните правой кнопкой значок Assemblylnfo и выберите в раскрывающемся списке команду View Code — откроется редактор кода с содержимым файла Assemblylnfo. Он включает ряд атрибутов, идентифицирующих сборку, которые по умолчанию содержат Null-значения. Вот выдержка из файла Assemblylnfo (заметьте, что набор атрибутов по умолчанию для Visual Basic .NET и Visual C# отличается): Visual Basic .NET •^Assembly: AssernblyTitle("")> <Assembly: AssemblyDescription("")> ^Assembly: AssemblyCornpany(""}> ^Assembly: AssemblyProduct("")> <Assembly: AssemblyCopyright("")> <Assembly: AssemblyTradefnark("")> <Assembly: CLSCompliant(True)> Visual C# [assembly: AssemblyTitleC"1)] [assembly: AssemblyDescription{"")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany(""}] [assembly: AssemblyProduct("")] [assembly: AssemblyCopyright("")] [assembly: Assembly!rademark("")] [assembly: AssernblyCulture("")] Чтобы определить идентификационные данные сборки, установите значения со- ответствующих атрибутов в файле Assemblylnfo. Например, так устанавливается ат- рибут AssemblyTitle: Visual Basic .NET <Assembly: AssemblyTitle("The Best Assembly Ever!")> Visual C# [assembly: AssemblyTitle{"The Best Assembly Ever!")] Создание сборок с библиотеками классов Часто требуются сборки, содержащие библиотеки классов. Они представляют со- бой набор типов, которые можно вызывать из других сборок. Например, в под об- ной сборке может быть нестандартный элемент управления, предназначенный для использования в нескольких приложениях, или компонент, поддерживающий фун- кции высшей математики. Такую сборку нельзя исполнять непосредственно, но можно вызывать из других исполняемых приложений. Сборки, содержащие библиотеки классов или элементы управления, создают на основе соответствующих шаблонов Visual Studio .NET. Шаблон для библиотеки классов позволяет создать сборку, содержащую типы, предназначенные для исполь- зования в других приложениях, а шаблон библиотеки Windows-элементов управле- ния применяют для создания сборок с нестандартными элементами управления. > Как создать сборку с библиотекой классов 1. В меню File выберите New\Project — откроется окно New Project 2. В окне New Project выберите Visual Basic Projects или Visual C# Projects, затем щелкните шаблон Class Library или Windows Control Library. 3. Напишите код библиотеки классов или Windows-элементов управления. 4. Задайте идентификационные данные сборки в ее файле Assemblylnfo. 5. В меню Build выберите команду Build, чтобы скомпоновать сборку. Visual Studio .NET позволяет создать окончательную (Release) либо отладочную (Debug) версию сборки: щелкните меню Build\Configuration Manager и укажите тре- буемую версию.