Поделиться через


LC - задача

Создает программу-оболочку для файл LC.exe для создания LICENSE-файла из LICX-файла. Дополнительные сведения о LC.exe см. в разделе LC.exe (компилятор лицензий).

Параметры

В следующей таблице приводятся параметры для задачи LC.

Параметр Описание
LicenseTarget Обязательный параметр ITaskItem .

Определяет исполняемый файл, для которого создаются LICENSES-файлы.
NoLogo Необязательный параметр Boolean.

Отключает отображение эмблемы Майкрософт при запуске.
OutputDirectory Необязательный параметр String.

Определяет каталог для размещения выходных LICENSES-файлов.
OutputLicense Необязательный выходной параметр ITaskItem .

Определяет имя LICENSES-файла. Если имя не указано, используется имя LICX-файла, а создаваемый LICENSES-файл помещается в каталог, содержащий LICX-файл.
ReferencedAssemblies Необязательный параметр ITaskItem[].

Определяет компоненты, на которые имеются ссылки, для загрузки при создании LICENSES-файла.
SdkToolsPath Необязательный параметр String.

Указывает путь к средствам пакета SDK, например resgen.exe.
Sources Обязательный параметр ITaskItem[] .

Определяет элементы, содержащие лицензируемые компоненты для включения в LICENSES-файл. См. дополнительные сведения см. в документации по параметру /complist в файле LС.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, эта задача создает узел при выполнении его задачи.

Пример

В следующем примере задача LC компилирует лицензии.

<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>

См. также