Задача AL (компоновщик сборок)
Задача AL включает AL.exe — инструмент, распространяемый вместе с Windows SDK.Этот компоновщик сборок используется для создания сборки с манифестом из одного или нескольких файлов, являющихся модулями или файлами ресурсов.Многие компиляторы и среды разработки обеспечивают указанные возможности, в связи с чем необходимость в непосредственном использовании этого задания возникает достаточно редко.Компоновщик сборок наиболее полезен при необходимости создать единую сборку из нескольких файлов компонентов, например при разработке на нескольких языках.Эта задача не объединяет модули в один файл сборки; отдельные модули должны оставаться распределенными и доступными для правильной загрузки результирующей сборки.Дополнительные сведения об инструменте 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[]. Указывает файлы ответов, содержащие дополнительные параметры для прохождения к компоновщику сборок. |
SdkToolsPath |
Необязательный параметр типа String. Задает путь к средствам SDK, таким как resgen.exe. |
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-файл присваивает выходному файлу нужного обозревателе файла внешнего вида.Этот параметр соответствует параметру /win32icon в Al.exe (компоновщик сборок). |
Win32Resource |
Необязательный параметр типа String. Вставляет файл ресурсов Win32 (RES-файл) в выходной файл.Дополнительные сведения см. в документации параметра /win32res в разделе Al.exe (компоновщик сборок). |
Заметки
Помимо параметров, которые перечислены выше, эта задача наследует параметры от класса ToolTaskExtension, который наследует от класса ToolTask.Чтобы получить список этих доп параметров и их описаний, см. Базовый класс ToolTaskExtension.
Пример
В следующем примере создается сборка с заданными параметрами.
<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>