LC task
Wraps LC.exe, which generates a .license file from a .licx file. For more information on LC.exe, see Lc.exe (License Compiler).
Parameters
The following table describes the parameters for the LC
task.
Parameter | Description |
---|---|
LicenseTarget |
Required ITaskItem parameter. Specifies the executable for which the .licenses files are generated. |
NoLogo |
Optional Boolean parameter.Suppresses the Microsoft startup banner display. |
OutputDirectory |
Optional String parameter.Specifies the directory in which to place the output .licenses files. |
OutputLicense |
Optional ITaskItem output parameter. Specifies the name of the .licenses file. If you do not specify a name, the name of the .licx file is used and the .licenses file is placed in the directory that contains the .licx file. |
ReferencedAssemblies |
Optional ITaskItem[] parameter.Specifies the referenced components to load when generating the .license file. |
SdkToolsPath |
Optional String parameter.Specifies the path to the SDK tools, such as resgen.exe. |
Sources |
Required ITaskItem[] parameter.Specifies the items that contain licensed components to include in the .licenses file. For more information, see the documentation for the /complist switch in Lc.exe (License Compiler). |
ToolTaskExtension parameters
This task inherits from the ToolTaskExtension class, which inherits from the ToolTask class, which itself inherits from the Task class. This inheritance chain adds several parameters to the tasks that derive from them.
The following table describes the parameters of the base classes:
Parameter | Description |
---|---|
EchoOff | Optional bool parameter.When set to true , this task passes /Q to the cmd.exe command line such that the command line does not get copied to stdout. |
EnvironmentVariables | Optional String array parameter.Array of environment variable definitions, separated by semicolons. Each definition should specify an environment variable name and value separated by an equal sign. These variables are passed to the spawned executable in addition to, or selectively overriding, the regular environment block. For example, Variable1=Value1;Variable2=Value2 . |
ExitCode | Optional Int32 output read-only parameter.Specifies the exit code that is provided by the executed command. If the task logged any errors, but the process had an exit code of 0 (success), this is set to -1. |
LogStandardErrorAsError | Optional bool parameter.If true , all messages received on the standard error stream are logged as errors. |
StandardErrorImportance | Optional String parameter.Importance with which to log text from the standard error stream. |
StandardOutputImportance | Optional String parameter.Importance with which to log text from the standard out stream. |
Timeout | Optional Int32 parameter.Specifies the amount of time, in milliseconds, after which the task executable is terminated. The default value is Int.MaxValue , indicating that there is no time out period. Time-out is in milliseconds. |
ToolExe | Optional string parameter.Projects may implement this to override a ToolName. Tasks may override this to preserve the ToolName. |
ToolPath | Optional string parameter.Specifies the location from where the task loads the underlying executable file. If this parameter is not specified, the task uses the SDK installation path that corresponds to the version of the framework that is running MSBuild. |
UseCommandProcessor | Optional bool parameter.When set to true , this task creates a batch file for the command line and executes it by using the command-processor instead of executing the command directly. |
YieldDuringToolExecution | Optional bool parameter.When set to true , this task yields the node when its task is executing. |
Example
The following example uses the LC
task to compile licenses.
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!-- Item declarations, etc -->
<Target Name="CompileLicenses">
<LC
Sources="@(LicxFile)"
LicenseTarget="$(TargetFileName)"
OutputDirectory="$(IntermediateOutputPath)"
OutputLicenses="$(IntermediateOutputPath)$(TargetFileName).licenses"
ReferencedAssemblies="@(ReferencePath);@(ReferenceDependencyPaths)">
<Output
TaskParameter="OutputLicenses"
ItemName="CompiledLicenseFile"/>
</LC>
</Target>
</Project>