Задача AL (компоновщик сборок)
Задача 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[]. Указывает файлы ответов, содержащие дополнительные параметры для прохождения к компоновщику сборок. |
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-файл придает выходному файлу нужное оформление в проводнике Windows. Этот параметр соответствует параметру /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>