Поделиться через


Задача AL (компоновщик сборок)

Обновлен: Ноябрь 2007

Задача AL включает AL.exe — инструмент, распространяемый вместе с SDK (пакет средств разработки программного обеспечения) для Windows. Этот компоновщик сборок используется для создания сборки с манифестом из одного или нескольких файлов, являющихся модулями или файлами ресурсов. Многие компиляторы и среды разработки обеспечивают указанные возможности, в связи с чем необходимость в непосредственном использовании этого задания возникает достаточно редко. Компоновщик сборок наиболее полезен при необходимости создать единую сборку из нескольких файлов компонентов, например при разработке на нескольких языках. Эта задача не объединяет модули в один файл сборки; отдельные модули должны оставаться распределенными и доступными для правильной загрузки результирующей сборки. Дополнительные сведения об инструменте AL.exe см. в разделе Компоновщик сборок (Al.exe).

Параметры

В следующей таблице описаны параметры данной задачи AL.

Параметр

Описание

AlgorithmID

Необязательный параметр String.

Задает алгоритм хеширования всех файлов многофайловой сборки, кроме файла, содержащего манифест сборки. Дополнительные сведения см. в документации параметра /algid в разделе Компоновщик сборок (Al.exe).

BaseAddress

Необязательный параметр String.

Задает адрес для загрузки библиотек DLL на компьютер пользователя во время выполнения. Приложения загружаются быстрее, если задан базовый адрес DLL и операционная система не перемещает библиотеки в пространстве процесса. Этот параметр соответствует параметру /base[адрес] в Компоновщик сборок (Al.exe).

CompanyName

Необязательный параметр String.

Задает строковое значение для поля Company в сборке. Дополнительные сведения см. в документации параметра /comp[any] в разделе Компоновщик сборок (Al.exe).

Configuration

Необязательный параметр String.

Задает строковое значение для поля Configuration в сборке. Дополнительные сведения см. в документации параметра /config[uration] в разделе Компоновщик сборок (Al.exe).

Copyright

Необязательный параметр String.

Задает строковое значение для поля Copyright в сборке. Дополнительные сведения см. в документации параметра /copy[right] в разделе Компоновщик сборок (Al.exe).

Culture

Необязательный параметр String.

Задает строку языка и региональных параметров для связывания со сборкой. Дополнительные сведения см. в документации параметра /c[ulture] в разделе Компоновщик сборок (Al.exe).

DelaySign

Необязательный параметр Boolean.

true — разместить в сборке только открытый ключ; false — полностью подписать сборку. Дополнительные сведения см. в документации параметра /delay[sign] в разделе Компоновщик сборок (Al.exe).

Description

Необязательный параметр String.

Задает строковое значение для поля Description в сборке. Дополнительные сведения см. в документации параметра /descr[iption] в разделе Компоновщик сборок (Al.exe).

EmbedResources

Необязательный параметр ITaskItem[].

Внедряет указанные ресурсы в образ, содержащий манифест сборки. Эта задача копирует содержимое файла ресурсов в образ. Элементы, передаваемые в этот параметр, могут иметь вложенные необязательные метаданные LogicalName и Access. Метаданные LogicalName используются для указания внутреннего идентификатора ресурса. Для метаданных Access можно задать значение private, чтобы сделать данный ресурс невидимым для других сборок. Дополнительные сведения см. в документации параметра /embed[resource] в разделе Компоновщик сборок (Al.exe).

EvidenceFile

Необязательный параметр String.

Внедряет указанный файл в сборку с именем ресурса Security.Evidence.

Использовать Security.Evidence для обычных ресурсов нельзя. Этот параметр соответствует параметру /e[vidence] в Компоновщик сборок (Al.exe).

ExitCode

Необязательный выходной параметр Int32, доступный только для чтения.

Определяет код выхода, возвращаемый выполняемой командой.

FileVersion

Необязательный параметр String.

Задает строковое значение для поля File Version в сборке. Дополнительные сведения см. в документации параметра /fileversion в разделе Компоновщик сборок (Al.exe).

Flags

Необязательный параметр String.

Задает значение для поля Flags в сборке. Дополнительные сведения см. в документации параметра /flags в разделе Компоновщик сборок (Al.exe).

GenerateFullPaths

Необязательный параметр Boolean.

Предписывает задаче использовать в сообщениях об ошибках абсолютные пути для всех файлов. Этот параметр соответствует параметру /fullpaths в Компоновщик сборок (Al.exe).

KeyContainer

Необязательный параметр String.

Задает контейнер, хранящий пару ключей. При этом сборка (присвойте ей строгое имя) будет подписана путем вставки открытого ключа в манифест сборки. Затем задача подпишет окончательную сборку закрытым ключом. Дополнительные сведения см. в документации параметра /keyn[ame] в разделе Компоновщик сборок (Al.exe).

KeyFile

Необязательный параметр String.

Задает файл, содержащий пару ключей или только открытый ключ для подписывания сборки. Компилятор вставляет открытый ключ в манифест сборки, а затем подписывает окончательную сборку закрытым ключом. Дополнительные сведения см. в документации параметра /keyf[ile] в разделе Компоновщик сборок (Al.exe).

LinkResources

Необязательный параметр ITaskItem[].

Связывает указанные файлы ресурсов со сборкой. Ресурс становится частью сборки, но файл не копируется. Элементы, передаваемые в этот параметр, могут иметь вложенные необязательные метаданные LogicalName, Target и Access. Метаданные LogicalName используются для указания внутреннего идентификатора ресурса. Метаданные Target указывают путь и имя файла, в который задача копирует файл, после чего этот новый файл компилируется в сборку. Для метаданных Access можно задать значение private, чтобы сделать ресурс невидимым для других сборок. Дополнительные сведения см. в документации параметра /link[resource] в разделе Компоновщик сборок (Al.exe).

MainEntryPoint

Необязательный параметр String.

Задает полное имя (класс.метод) метода, являющегося точкой входа при преобразовании модуля в исполняемый файл. Этот параметр соответствует параметру /main в Компоновщик сборок (Al.exe).

OutputAssembly

Обязательный выходной параметр ITaskItem.

Указывает имя файла, создаваемого этой задачей. Этот параметр соответствует параметру /out в Компоновщик сборок (Al.exe).

Platform

Необязательный параметр String.

Ограничивает возможности выполнения данного кода одной из следующих платформ: x86, Itanium, x64 или anycpu. Значение по умолчанию — anycpu. Этот параметр соответствует параметру /platform в Компоновщик сборок (Al.exe).

ProductName

Необязательный параметр String.

Задает строковое значение для поля Product в сборке. Дополнительные сведения см. в документации параметра /prod[uct] в разделе Компоновщик сборок (Al.exe).

ProductVersion

Необязательный параметр String.

Задает строковое значение для поля ProductVersion в сборке. Дополнительные сведения см. в документации параметра /productv[ersion] в разделе Компоновщик сборок (Al.exe).

ResponseFiles

Необязательный параметр String[].

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

SourceModules

Необязательный параметр ITaskItem[].

Один или несколько модулей для компиляции в сборку. Модули будут перечислены в манифесте результирующей сборки и должны будут оставаться распределенными и доступными для загрузки сборки. Элементы, передаваемые в этот параметр, могут иметь вложенные необязательные метаданные Target, указывающие путь и имя файла, в который задача копирует файл, после чего этот новый файл компилируется в сборку. Дополнительные сведения см. в документации Компоновщик сборок (Al.exe). Этот параметр соответствует списку модулей, передаваемому в Al.exe без определенного переключателя.

TargetType

Необязательный параметр String.

Задает формат выходного файла: library (библиотека кода), exe (консольное приложение) или win (приложение Windows). Значение по умолчанию — library. Этот параметр соответствует параметру /t[arget] в Компоновщик сборок (Al.exe).

TemplateFile

Необязательный параметр String.

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

Сборка, созданная с параметром TemplateFile, будет вспомогательной. Этот параметр соответствует параметру /template в Компоновщик сборок (Al.exe).

Timeout

Необязательный параметр Int32.

Указывает временной интервал в миллисекундах, по истечении которого исполнение файла задачи останавливается. Значение по умолчанию Int.MaxValue указывает, что таймаут не задан.

Title

Необязательный параметр String.

Задает строковое значение для поля Title в сборке. Дополнительные сведения см. в документации параметра /title в разделе Компоновщик сборок (Al.exe).

ToolPath

Необязательный параметр String.

Указывает расположение, из которого задача будет загружать исполняемый файл (Al.exe). Если этот параметр не задан, задача использует путь установки пакета SDK, соответствующий версии среды, в которой выполняется MSBuild.

Trademark

Необязательный параметр String.

Задает строковое значение для поля Trademark в сборке. Дополнительные сведения см. в документации параметра /trade[mark] в разделе Компоновщик сборок (Al.exe).

Version

Необязательный параметр String.

Указывает сведения о версии для данной сборки. Формат строки: главная.второстепенная.построение.редакция. Значение по умолчанию — 0. Дополнительные сведения см. в документации параметра /v[ersion] в разделе Компоновщик сборок (Al.exe).

Win32Icon

Необязательный параметр String.

Вставляет в сборку файл с расширением ICO. ICO-файл придает выходному файлу нужное оформление в проводнике Windows. Этот параметр соответствует параметру /win32icon в Компоновщик сборок (Al.exe).

Win32Resource

Необязательный параметр String.

Вставляет файл ресурсов Win32 (RES-файл) в выходной файл. Дополнительные сведения см. в документации параметра /win32res в разделе Компоновщик сборок (Al.exe).

Пример

В следующем примере создается сборка с заданными параметрами.

<AL
    EmbedResources="@(EmbeddedResource)"
    Culture="%(EmbeddedResource.Culture)"
    TemplateFile="@(IntermediateAssembly)"
    KeyContainer="$(KeyContainerName)"
    KeyFile="$(KeyOriginatorFile)"
    DelaySign="$(DelaySign)"

    OutputAssembly=
       "%(EmbeddedResource.Culture)\$(TargetName).resources.dll">

    <Output TaskParameter="OutputAssembly"
        ItemName="SatelliteAssemblies"/>
</AL>

См. также

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

Задачи MSBuild

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

Справочные сведения о задачах MSBuild