Задача Exec

Обновлен: Ноябрь 2007

Запускает заданную программу или команду с указанными параметрами.

Параметры

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

Параметр

Описание

Command

Обязательный параметр типа String.

Команды, которые требуется выполнить. Это могут быть системные команды, например attrib, или исполняемый файл, например program.exe, runprogram.bat или setup.msi.

Этот параметр может содержать несколько строк с командами. Кроме того, можно поместить несколько команд в пакетный файл, а затем запустить его с помощью этого параметра.

ExitCode

Необязательный выходной параметр типа Int32, доступный только для чтения.

Задает код выхода, возвращаемый выполняемой командой.

IgnoreExitCode

Необязательный параметр типа Boolean.

Если этот параметр равен true, задача игнорирует код выхода, возвращаемый выполняемой командой. В противном случае задача возвращает false, если выполняемая команда возвращает ненулевой код выхода.

Outputs

Необязательный выходной параметр типа ITaskItem[].

Содержит выходные данные задачи. Они не устанавливаются самостоятельно задачей Exec. Эти данные указываются пользователем, как если бы их устанавливала задача, чтобы их можно было использовать впоследствии в проекте.

StdErrEncoding

Необязательный выходной параметр типа String.

Задает кодировку перехватываемого стандартного потока ошибок задачи. По умолчанию используется текущая выходная кодировка консоли.

StdOutEncoding

Необязательный выходной параметр типа String.

Задает кодировку перехватываемого стандартного выходного потока задачи. По умолчанию используется текущая выходная кодировка консоли.

Timeout

Необязательный параметр типа Int32.

Указывает время в миллисекундах, по истечении которого исполнение файла задачи останавливается. Значение по умолчанию — Int.MaxValue указывает, что тайм-аут не задан.

ToolPath

Необязательный параметр типа String.

Задает местоположение, откуда задача будет загружать базовый исполняемый файл (cmd.exe).

WorkingDirectory

Необязательный параметр типа String.

Задает каталог, в котором будет выполняться команда.

Заметки

Эта задача полезна в том случае, если конкретная задача MSBuild для задания, которое требуется выполнить, недоступна. Один из недостатков задачи Exec по сравнению с более конкретными задачами состоит в том, что она не позволяет получать выходные данные от запускаемого с ее помощью средства или команды.

Задача Exec вместо непосредственного вызова процесса вызывает оболочку cmd.exe.

Пример

В следующем примере задача Exec используется для выполнения команды.

<Project xmlns="https://schemas.microsoft.com/developer/msbuild/2003">
    <ItemGroup>
        <Binaries Include="*.dll;*.exe"/>
    </ItemGroup>

    <Target Name="SetACL">
        <!-- set security on binaries-->
        <Exec Command="echo y| cacls %(Binaries.Identity) /G everyone:R"/>
    </Target>

</Project>

См. также

Основные понятия

Задачи MSBuild

Другие ресурсы

Справочные сведения о задачах MSBuild