AL Class

Definition

This class defines the "AL" XMake task, which enables using al.exe to link modules and resource files into assemblies.

This API supports the product infrastructure and is not intended to be used directly from your code.

public ref class AL : Microsoft::Build::Tasks::ToolTaskExtension
public ref class AL sealed : Microsoft::Build::Tasks::TaskRequiresFramework
public class AL : Microsoft.Build.Tasks.ToolTaskExtension
public sealed class AL : Microsoft.Build.Tasks.TaskRequiresFramework
type AL = class
    inherit ToolTaskExtension
type AL = class
    inherit TaskRequiresFramework
Public Class AL
Inherits ToolTaskExtension
Public NotInheritable Class AL
Inherits TaskRequiresFramework
Inheritance
Inheritance

Constructors

AL()

This API supports the product infrastructure and is not intended to be used directly from your code.

Initializes a new instance of the AL class.

Properties

AlgorithmId

This API supports the product infrastructure and is not intended to be used directly from your code.

Gets or sets an algorithm to hash all files in a multifile assembly except the file that contains the assembly manifest.

Bag

This API supports the product infrastructure and is not intended to be used directly from your code.

Gets the collection of parameters used by the derived task class.

(Inherited from ToolTaskExtension)
BaseAddress

This API supports the product infrastructure and is not intended to be used directly from your code.

Gets or sets the address at which a DLL will be loaded on the user's computer at run time.

BuildEngine

The build engine automatically sets this property to allow tasks to call back into it.

(Inherited from Task)
BuildEngine2

The build engine automatically sets this property to allow tasks to call back into it. This is a convenience property so that task authors inheriting from this class do not have to cast the value from IBuildEngine to IBuildEngine2.

(Inherited from Task)
BuildEngine3

Retrieves the IBuildEngine3 version of the build engine interface provided by the host.

(Inherited from Task)
BuildEngine4

Retrieves the IBuildEngine4 version of the build engine interface provided by the host.

(Inherited from Task)
BuildEngine5

Retrieves the IBuildEngine5 version of the build engine interface provided by the host.

(Inherited from Task)
BuildEngine6

Retrieves the IBuildEngine6 version of the build engine interface provided by the host.

(Inherited from Task)
BuildEngine7

Retrieves the IBuildEngine7 version of the build engine interface provided by the host.

(Inherited from Task)
BuildEngine8

Retrieves the IBuildEngine8 version of the build engine interface provided by the host.

(Inherited from Task)
BuildEngine9

Retrieves the IBuildEngine9 version of the build engine interface provided by the host.

(Inherited from Task)
canBeIncremental

ToolTask is not incremental by default. When a derived class overrides SkipTaskExecution, then Question feature can take into effect.

(Inherited from ToolTask)
CompanyName

This API supports the product infrastructure and is not intended to be used directly from your code.

Gets or sets the Company field in the assembly.

Configuration

This API supports the product infrastructure and is not intended to be used directly from your code.

Gets or sets the Configuration field in the assembly.

Copyright

This API supports the product infrastructure and is not intended to be used directly from your code.

Gets or sets the Copyright field in the assembly.

Culture

This API supports the product infrastructure and is not intended to be used directly from your code.

Gets or sets the culture string to associate with the assembly.

DelaySign

This API supports the product infrastructure and is not intended to be used directly from your code.

Gets or sets a Boolean value that indicates whether to place only the public key in the assembly (true) or to fully sign the assembly (false).

Description

This API supports the product infrastructure and is not intended to be used directly from your code.

Gets or sets the Description field in the assembly.

EchoOff

When set to true, it passes /Q to the cmd.exe command line such that the command line does not get echo-ed on stdout

(Inherited from ToolTask)
EmbedResources

This API supports the product infrastructure and is not intended to be used directly from your code.

Gets or sets the resources to embed in the image that contains the assembly manifest.

EnvironmentOverride
Obsolete.

Gets the Path override value.

(Inherited from ToolTask)
EnvironmentVariables

Array of equals-separated pairs of environment variables that should be passed to the spawned executable, in addition to (or selectively overriding) the regular environment block.

(Inherited from ToolTask)
EvidenceFile

This API supports the product infrastructure and is not intended to be used directly from your code.

Gets or sets the file to embed in the assembly with the resource name of Security.Evidence.

ExitCode

The return code of the spawned process. If the task logged any errors, but the process had an exit code of 0 (success), this will be set to -1.

(Inherited from ToolTask)
FailIfNotIncremental (Inherited from ToolTask)
FileVersion

This API supports the product infrastructure and is not intended to be used directly from your code.

Gets or sets the File Version field in the assembly.

Flags

This API supports the product infrastructure and is not intended to be used directly from your code.

Gets or sets the Flags field in the assembly.

GenerateFullPaths

This API supports the product infrastructure and is not intended to be used directly from your code.

Gets or sets a Boolean value that indicates whether to cause the task to use the absolute path for any files that are reported in an error message.

HasLoggedErrors

This API supports the product infrastructure and is not intended to be used directly from your code.

Whether this ToolTaskExtension has logged any errors

(Inherited from ToolTaskExtension)
HelpKeywordPrefix

Gets or sets the prefix used to compose help keywords from string resource names. If a task does not have help keywords associated with its messages, it can ignore this property or set it to null. If the prefix is set to an empty string, then string resource names will be used verbatim as help keywords. For an example of how this prefix is used, see the TaskLoggingHelper.LogErrorWithCodeFromResources(string, object[]) method.

(Inherited from Task)
HostObject

The build engine sets this property if the host IDE has associated a host object with this particular task.

(Inherited from Task)
KeyContainer

This API supports the product infrastructure and is not intended to be used directly from your code.

Gets or sets a container that holds a key pair.

KeyFile

This API supports the product infrastructure and is not intended to be used directly from your code.

Gets or sets a file that contains a key pair or just a public key to sign an assembly.

LinkResources

This API supports the product infrastructure and is not intended to be used directly from your code.

Gets or sets the resource files to link to an assembly.

Log

This API supports the product infrastructure and is not intended to be used directly from your code.

Gets an instance of a TaskLoggingHelperExtension class containing task logging methods.

(Inherited from ToolTaskExtension)
Log

This API supports the product infrastructure and is not intended to be used directly from your code.

Gets an instance of a TaskLoggingHelperExtension class containing task logging methods.

(Inherited from TaskExtension)
LogStandardErrorAsError

Should ALL messages received on the standard error stream be logged as errors.

(Inherited from ToolTask)
MainEntryPoint

This API supports the product infrastructure and is not intended to be used directly from your code.

Gets or sets the fully qualified name (class.method) of the method to use as an entry point when converting a module to an executable file.

OutputAssembly

This API supports the product infrastructure and is not intended to be used directly from your code.

Gets or sets the name of the file generated by this task.

Platform

This API supports the product infrastructure and is not intended to be used directly from your code.

Gets or sets a string that limits which platform this code can run on; must be one of x86, Itanium, x64, or anycpu.

Prefer32Bit

This API supports the product infrastructure and is not intended to be used directly from your code.

Gets or sets a value that indicates whether the task runs on a 32-bit platform.

ProductName

This API supports the product infrastructure and is not intended to be used directly from your code.

Gets or sets the Product field in the assembly.

ProductVersion

This API supports the product infrastructure and is not intended to be used directly from your code.

Gets or sets the ProductVersion field in the assembly.

ResponseFileEncoding

Overridable property specifying the encoding of the response file, UTF8 by default

(Inherited from ToolTask)
ResponseFiles

This API supports the product infrastructure and is not intended to be used directly from your code.

Gets or sets the names of the response files that contain commands for the AL tool.

SdkToolsPath

This API supports the product infrastructure and is not intended to be used directly from your code.

Gets or sets the path to the SDK tools.

SourceModules

This API supports the product infrastructure and is not intended to be used directly from your code.

Gets or sets the modules to be compiled into an assembly.

StandardErrorEncoding

Overridable property specifying the encoding of the captured task standard error stream

(Inherited from ToolTask)
StandardErrorImportance

Task Parameter: Importance with which to log text from the standard error stream.

(Inherited from ToolTask)
StandardErrorImportanceToUse

The actual importance at which standard error messages will be logged.

(Inherited from ToolTask)
StandardErrorLoggingImportance

Importance with which to log text from the standard error stream.

(Inherited from ToolTask)
StandardOutputEncoding

Overridable property specifying the encoding of the captured task standard output stream

(Inherited from ToolTask)
StandardOutputImportance

Task Parameter: Importance with which to log text from the standard out stream.

(Inherited from ToolTask)
StandardOutputImportanceToUse

The actual importance at which standard out messages will be logged.

(Inherited from ToolTask)
StandardOutputLoggingImportance

Importance with which to log text from in the standard out stream.

(Inherited from ToolTask)
TargetType

This API supports the product infrastructure and is not intended to be used directly from your code.

Gets or sets the file format of the output file: library (code library), exe (console application), or win (Windows-based application).

TaskProcessTerminationTimeout

A timeout to wait for a task to terminate before killing it. In milliseconds.

(Inherited from ToolTask)
TaskResources

Gets or sets the task's culture-specific resources. Derived classes should register their resources either during construction, or via this property, if they have localized strings.

(Inherited from Task)
TemplateFile

This API supports the product infrastructure and is not intended to be used directly from your code.

Gets or sets the assembly from which to inherit all assembly metadata, except the culture field.

Timeout

Project visible property that allows the user to specify an amount of time after which the task executable is terminated.

(Inherited from ToolTask)
Title

This API supports the product infrastructure and is not intended to be used directly from your code.

Gets or sets the Title field in the assembly.

ToolCanceled

Used to signal when a tool has been cancelled.

(Inherited from ToolTask)
ToolExe

Projects may set this to override a task's ToolName. Tasks may override this to prevent that.

(Inherited from ToolTask)
ToolName

This API supports the product infrastructure and is not intended to be used directly from your code.

Return the name of the tool to execute.

ToolPath

Project-visible property allows the user to override the path to the executable.

(Inherited from ToolTask)
Trademark

This API supports the product infrastructure and is not intended to be used directly from your code.

Gets or sets the Trademark field in the assembly.

UseCommandProcessor

When set to true, the tool task will create a batch file for the command-line and execute that using the command-processor, rather than executing the command directly.

(Inherited from ToolTask)
UseNewLineSeparatorInResponseFile

When set to true, the response file will use new lines instead of spaces to separate arguments.

(Inherited from ToolTaskExtension)
UseUtf8Encoding

Whether or not to use UTF8 encoding for the cmd file and console window. Values: Always, Never, Detect If set to Detect, the current code page will be used unless it cannot represent the Command string. In that case, UTF-8 is used.

(Inherited from ToolTask)
Version

This API supports the product infrastructure and is not intended to be used directly from your code.

Gets or sets the version information for this assembly.

Win32Icon

This API supports the product infrastructure and is not intended to be used directly from your code.

Gets or sets the .ico file to insert in the assembly.

Win32Resource

This API supports the product infrastructure and is not intended to be used directly from your code.

Gets or sets a Win32 resource (.res file) to insert in the output file.

YieldDuringToolExecution

When set to true, this task will yield the node when its task is executing.

(Inherited from ToolTask)

Methods

AddCommandLineCommands(CommandLineBuilderExtension)

This API supports the product infrastructure and is not intended to be used directly from your code.

Fills the provided CommandLineBuilderExtension with those switches and other information that can't go into a response file and must go directly onto the command line.

(Inherited from ToolTaskExtension)
AddResponseFileCommands(CommandLineBuilderExtension)

This API supports the product infrastructure and is not intended to be used directly from your code.

Fills the provided CommandLineBuilderExtension with those switches and other information that can go into a response file.

AdjustCommandsForOperatingSystem(String)

Replace backslashes with OS-specific path separators, except when likely that the backslash is intentional.

(Inherited from ToolTask)
CallHostObjectToExecute()

We expect the tasks to override this method, if they support host objects. The implementation should call into the host object to perform the real work of the task. For example, for compiler tasks like Csc and Vbc, this method would call Compile() on the host object.

(Inherited from ToolTask)
Cancel()

Cancels the process executing the task by asking it to close nicely, then after a short period, forcing termination.

(Inherited from ToolTask)
DeleteTempFile(String)

Delete temporary file. If the delete fails for some reason (e.g. file locked by anti-virus) then the call will not throw an exception. Instead a warning will be logged, but the build will not fail.

(Inherited from ToolTask)
Execute()

This API supports the product infrastructure and is not intended to be used directly from your code.

Executes the AL task.

Execute()

Task entry point.

(Inherited from TaskRequiresFramework)
ExecuteTool(String, String, String)

Writes out a temporary response file and shell-executes the tool requested. Enables concurrent logging of the output of the tool.

(Inherited from ToolTask)
GenerateCommandLineCommands()

This API supports the product infrastructure and is not intended to be used directly from your code.

Returns a string with those switches and other information that can't go into a response file and must go directly onto the command line. Called after ValidateParameters and SkipTaskExecution

(Inherited from ToolTaskExtension)
GenerateFullPathToTool()

This API supports the product infrastructure and is not intended to be used directly from your code.

Return the path of the tool to execute

GenerateResponseFileCommands()

This API supports the product infrastructure and is not intended to be used directly from your code.

Returns the command line switch used by the tool executable to specify the response file Will only be called if the task returned a non empty string from GetResponseFileCommands Called after ValidateParameters, SkipTaskExecution and GetResponseFileCommands

(Inherited from ToolTaskExtension)
GetBoolParameterWithDefault(String, Boolean)

This API supports the product infrastructure and is not intended to be used directly from your code.

Get a bool parameter and return a default if its not present in the hash table.

(Inherited from ToolTaskExtension)
GetIntParameterWithDefault(String, Int32)

This API supports the product infrastructure and is not intended to be used directly from your code.

Get an int parameter and return a default if its not present in the hash table.

(Inherited from ToolTaskExtension)
GetProcessStartInfo(String, String, String)

Initializes the information required to spawn the process executing the tool.

(Inherited from ToolTask)
GetResponseFileSwitch(String)

Returns the command line switch used by the tool executable to specify the response file. Will only be called if the task returned a non empty string from GetResponseFileCommands Called after ValidateParameters, SkipTaskExecution and GetResponseFileCommands

(Inherited from ToolTask)
GetWorkingDirectory()

Gets the working directory to use for the process. Should return null if ToolTask should use the current directory.

(Inherited from ToolTask)
HandleTaskExecutionErrors()

Allows tool to handle the return code. This method will only be called with non-zero exitCode.

(Inherited from ToolTask)
InitializeHostObject()

We expect tasks to override this method if they support host objects. The implementation should make sure that the host object is ready to perform the real work of the task.

(Inherited from ToolTask)
LogEventsFromTextOutput(String, MessageImportance)

Calls a method on the TaskLoggingHelper to parse a single line of text to see if there are any errors or warnings in canonical format. This can be overridden by the derived class if necessary.

(Inherited from ToolTask)
LogPathToTool(String, String)

Logs the tool name and the path from where it is being run.

(Inherited from ToolTask)
LogToolCommand(String)

Logs the actual command line about to be executed (or what the task wants the log to show)

(Inherited from ToolTask)
ProcessStarted()

Overridable function called after Start() in ExecuteTool(String, String, String)

(Inherited from ToolTask)
ResponseFileEscape(String)

Overridable method to escape content of the response file

(Inherited from ToolTask)
SkipTaskExecution()

Returns true if task execution is not necessary. Executed after ValidateParameters

(Inherited from ToolTask)
ValidateParameters()

Implemented in the derived class

(Inherited from ToolTask)

Applies to