Задача 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>