Задача AL (компоновщик сборок)
Задача AL включает AL.exe — инструмент, распространяемый с Windows SDK. Этот компоновщик сборок используется для создания сборки с манифестом из одного или нескольких файлов, являющихся модулями или файлами ресурсов. Компиляторы и среды разработки обеспечивают указанные возможности, в связи с чем необходимость в непосредственном использовании этого задания возникает достаточно редко. Компоновщик сборок особенно полезен, если нужно создать единую сборку из нескольких файлов компонентов, например при разработке на нескольких языках. Эта задача не объединяет модули в один файл сборки. Отдельные модули должны оставаться распределенными и доступными для правильной загрузки результирующей сборки. Дополнительные сведения об инструменте AL.exe см. в статье Al.exe (компоновщик сборок).
Параметры
В следующей таблице приводятся параметры задачи AL
.
Параметр | Описание |
---|---|
AlgorithmID |
Необязательный параметр String .Задает алгоритм хэширования всех файлов многофайловой сборки, кроме файла, содержащего манифест сборки. Дополнительные сведения см. в документации по параметру /algid в статье Al.exe (компоновщик сборок). |
BaseAddress |
Необязательный параметр String .Задает адрес для загрузки библиотеки DLL на компьютер пользователя во время выполнения. Приложения загружаются быстрее, если задан базовый адрес DLL и операционная система не перемещает библиотеки в пространстве процесса. Этот параметр соответствует свойству /baseaddress. |
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
Эта задача наследуется от класса ToolTaskExtension, который наследуется от класса ToolTask, который, в свою очередь, наследуется от класса Task. Эта цепочка наследования добавляет несколько параметров в задачи, которые от них происходят.
В следующей таблице описываются параметры базовых классов:
Параметр | Описание |
---|---|
EchoOff | Необязательный параметр bool .Если задано значение true , то задача передает /Q в командную строку cmd.exe и командная строка не копируется в stdout. |
EnvironmentVariables | Необязательный параметр массива String .Массив определений переменных среды, разделенных точкой с запятой. Каждое определение должно содержать имя и значение переменной среды, разделенные знаком равенства. Эти переменные частично передаются в порожденный исполняемый файл, дополняя или выборочно переопределяя обычный блок среды. Например, Variable1=Value1;Variable2=Value2 . |
ExitCode | Необязательный выходной параметр Int32 , доступный только для чтения.Задает код выхода, предоставляемый выполняемой командой. Если задача зарегистрировала какие-либо ошибки, но процесс имеет код выхода 0 (успешное завершение), этот параметр имеет значение -1. |
LogStandardErrorAsError | Необязательный параметр bool .Если он имеет значение true , то все сообщения, полученные в стандартном потоке ошибок, регистрируются как ошибки. |
StandardErrorImportance | Необязательный параметр String .степень важности, с которой текст из стандартного потока ошибок следует регистрировать в журнале. |
StandardOutputImportance | Необязательный параметр String .Степень важности, с которой текст из стандартного выходного потока следует регистрировать в журнале. |
Timeout | Необязательный параметр Int32 .Задает промежуток времени в миллисекундах, после которого исполняемый файл задачи прекращается. Значение по умолчанию — Int.MaxValue . Оно указывает, что период ожидания отсутствует. Время ожидания в миллисекундах. |
ToolExe | Необязательный параметр string .Он может реализовываться в проектах для переопределения параметра ToolName. Задачи могут переопределять его для сохранения параметра ToolName. |
ToolPath | Необязательный параметр string .Указывает расположение, откуда задача загружает базовый исполняемый файл. Если этот параметр не задан, задача использует путь установки пакета SDK, соответствующий версии платформы, на которой выполняется MSBuild. |
UseCommandProcessor | Необязательный параметр bool .Если задано значение true , эта задача создает пакетный файл для командной строки и выполняет его с помощью командного процессора вместо непосредственного выполнения команды. |
YieldDuringToolExecution | Необязательный параметр bool .Если задано значение true , эта задача создает узел при выполнении его задачи. |
Пример
В следующем примере создается сборка с заданными параметрами.
<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>