Exec 类

定义

此类定义一个“Exec”MSBuild 任务,该任务仅使用指定的参数调用指定的进程,等待其完成,然后如果成功完成该进程则返回 True,如果发生错误则返回 False。This class defines an "Exec" MSBuild task, which simply invokes the specified process with the specified arguments, waits for it to complete, and then returns True if the process completed successfully, and False if an error occurred.

此 API 支持产品基础结构,不能在代码中直接使用。

public ref class Exec : Microsoft::Build::Tasks::ToolTaskExtension
public class Exec : Microsoft.Build.Tasks.ToolTaskExtension
type Exec = class
    inherit ToolTaskExtension
Public Class Exec
Inherits ToolTaskExtension
继承

构造函数

Exec()

此 API 支持产品基础结构,不能在代码中直接使用。

默认构造函数。Default constructor.

属性

Bag

此 API 支持产品基础结构,不能在代码中直接使用。

获取派生任务类所使用参数的集合。Gets the collection of parameters used by the derived task class.

(继承自 ToolTaskExtension)
BuildEngine

生成引擎自动设置此属性,以允许任务回调到其中。The build engine automatically sets this property to allow tasks to call back into it.

(继承自 Task)
BuildEngine2

生成引擎自动设置此属性,以允许任务回调到其中。The build engine automatically sets this property to allow tasks to call back into it. 这是一个便捷属性,因此从此类继承的任务作者不必将值从 IBuildEngine 强制转换为 IBuildEngine2。This is a convenience property so that task authors inheriting from this class do not have to cast the value from IBuildEngine to IBuildEngine2.

(继承自 Task)
BuildEngine3

检索主机提供的生成引擎接口的 IBuildEngine3 版本。Retrieves the IBuildEngine3 version of the build engine interface provided by the host.

(继承自 Task)
BuildEngine4

检索主机提供的生成引擎接口的 IBuildEngine4 版本。Retrieves the IBuildEngine4 version of the build engine interface provided by the host.

(继承自 Task)
BuildEngine5

检索主机提供的生成引擎接口的 IBuildEngine5 版本。Retrieves the IBuildEngine5 version of the build engine interface provided by the host.

(继承自 Task)
BuildEngine6

检索主机提供的生成引擎接口的 IBuildEngine6 版本。Retrieves the IBuildEngine6 version of the build engine interface provided by the host.

(继承自 Task)
BuildEngine7

获取主机提供的生成引擎接口的版本。Gets the version of the build engine interface provided by the host.

(继承自 Task)
Command

此 API 支持产品基础结构,不能在代码中直接使用。

获取或设置要执行的命令。Gets or sets the command to run.

ConsoleOutput

此 API 支持产品基础结构,不能在代码中直接使用。

将输出作为项返回。Returns the output as an Item. 将剪裁掉空格。Whitespace are trimmed. 当 ConsoleToMSBuild 为真时,启用 ConsoleOutput。ConsoleOutput is enabled when ConsoleToMSBuild is true. 如果没有使用,则避免在内存中保存线。This avoids holding lines in memory if they aren't used. ConsoleOutput 为 stdout 和 stderr 的组合。ConsoleOutput is a combination of stdout and stderr.

ConsoleToMSBuild

此 API 支持产品基础结构,不能在代码中直接使用。

启用标准输出到项目的管道 (StandardOutput)。Enable the pipe of the standard out to an item (StandardOutput).

CustomErrorRegularExpression

此 API 支持产品基础结构,不能在代码中直接使用。

用户可以提供用于查找工具输出中错误行的正则表达式。Users can supply a regular expression that we should use to spot error lines in the tool output. 这对生成不常见格式的输出的工具非常有用This is useful for tools that produce unusually formatted output

CustomWarningRegularExpression

此 API 支持产品基础结构,不能在代码中直接使用。

用户可以提供用于查找工具输出中警告行的正则表达式。Users can supply a regular expression that we should use to spot warning lines in the tool output. 这对生成不常见格式的输出的工具非常有用This is useful for tools that produce unusually formatted output

EchoOff

当设置为 true 时,它将 / Q 传递到 cmd.exe 命令行,这样命令行不会在 stdout 上得到回显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

(继承自 ToolTask)
EnvironmentOverride
已过时。

获取路径替代值。Gets the Path override value.

(继承自 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.

(继承自 ToolTask)
ExitCode

生成的进程的返回码。The return code of the spawned process. 如果任务记录了任何错误,但进程的退出代码为 0(成功),这设置为 -1。If the task logged any errors, but the process had an exit code of 0 (success), this will be set to -1.

(继承自 ToolTask)
HasLoggedErrors

此 API 支持产品基础结构,不能在代码中直接使用。

此 ToolTaskExtension 是否记录了任何错误Whether this ToolTaskExtension has logged any errors

(继承自 ToolTaskExtension)
HelpKeywordPrefix

获取或设置前缀,该前缀用于通过字符串资源名称组成 help 关键字。Gets or sets the prefix used to compose help keywords from string resource names. 如果任务没有与消息关联的 help 关键字,则可以忽略此属性或将其设置为 null。If a task does not have help keywords associated with its messages, it can ignore this property or set it to null. 如果前缀设置为空字符串,则字符串资源名称将逐字用作 help 关键字。If the prefix is set to an empty string, then string resource names will be used verbatim as help keywords. 有关如何使用此前缀的示例,请参阅 TaskLoggingHelper.LogErrorWithCodeFromResources(string, object[]) 方法。For an example of how this prefix is used, see the TaskLoggingHelper.LogErrorWithCodeFromResources(string, object[]) method.

(继承自 Task)
HostObject

如果主机 IDE 具有与此特定任务关联的主机对象,则生成引擎会设置此属性。The build engine sets this property if the host IDE has associated a host object with this particular task.

(继承自 Task)
IgnoreExitCode

此 API 支持产品基础结构,不能在代码中直接使用。

获取或设置一个布尔值,该值指示在执行命令返回非零的退出代码 (false) 时,Exec 任务应忽略执行命令 (true) 所提供的退出代码,还是应返回 falseGets or sets a Boolean value that indicates whether the Exec task should ignore the exit code provided by the executed command (true) or should return false if the executed command returns a non-zero exit code (false).

IgnoreStandardErrorWarningFormat

此 API 支持产品基础结构,不能在代码中直接使用。

是否使用输出中与标准错误/警告格式相匹配的选取行,并将其记录为错误/警告。Whether to use pick out lines in the output that match the standard error/warning format, and log them as errors/warnings. 默认为 false。Defaults to false.

Log

此 API 支持产品基础结构,不能在代码中直接使用。

获取包含任务日志记录方法的 TaskLoggingHelperExtension 类的实例。Gets an instance of a TaskLoggingHelperExtension class containing task logging methods.

(继承自 ToolTaskExtension)
LogStandardErrorAsError

应将标准错误流上接收的所有消息作为错误记录。Should ALL messages received on the standard error stream be logged as errors.

(继承自 ToolTask)
Outputs

此 API 支持产品基础结构,不能在代码中直接使用。

获取或设置任务的输出项。Gets or sets the output items from the task.

ResponseFileEncoding

用于指定响应文件编码的可替代属性,默认为 UTF8Overridable property specifying the encoding of the response file, UTF8 by default

(继承自 ToolTask)
StandardErrorEncoding

此 API 支持产品基础结构,不能在代码中直接使用。

对捕获的任务标准错误流的编码进行指定的属性Property specifying the encoding of the captured task standard error stream

StandardErrorImportance

任务参数:用于从标准错误流记录文本的重要性。Task Parameter: Importance with which to log text from the standard error stream.

(继承自 ToolTask)
StandardErrorImportanceToUse

记录标准错误消息时使用的实际重要性。The actual importance at which standard error messages will be logged.

(继承自 ToolTask)
StandardErrorLoggingImportance

此 API 支持产品基础结构,不能在代码中直接使用。

在标准错误流中记录普通消息时使用的重要性。Importance with which to log ordinary messages in the standard error stream.

StandardOutputEncoding

此 API 支持产品基础结构,不能在代码中直接使用。

对捕获的任务标准输出流的编码进行指定的属性Property specifying the encoding of the captured task standard output stream

StandardOutputImportance

任务参数:关于记录标准输出流的文本的重要性。Task Parameter: Importance with which to log text from the standard out stream.

(继承自 ToolTask)
StandardOutputImportanceToUse

记录标准输出消息时使用的实际重要性。The actual importance at which standard out messages will be logged.

(继承自 ToolTask)
StandardOutputLoggingImportance

此 API 支持产品基础结构,不能在代码中直接使用。

在标准输出流中记录普通消息时使用的重要性。Importance with which to log ordinary messages in the standard out stream.

StdErrEncoding

此 API 支持产品基础结构,不能在代码中直接使用。

项目可见属性,对捕获的任务标准错误流的编码进行指定Project visible property specifying the encoding of the captured task standard error stream

StdOutEncoding

此 API 支持产品基础结构,不能在代码中直接使用。

项目可见属性,对捕获的任务标准输出流的编码进行指定Project visible property specifying the encoding of the captured task standard output stream

TaskProcessTerminationTimeout

在取消任务之前等待该任务终止所需的超时。A timeout to wait for a task to terminate before killing it. 以毫秒为单位。In milliseconds.

(继承自 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.

(继承自 Task)
Timeout

项目可见属性,使用户可以指定终止任务可执行文件前留出的时间。Project visible property that allows the user to specify an amount of time after which the task executable is terminated.

(继承自 ToolTask)
ToolCanceled

用于在已取消某个工具时发出信号。Used to signal when a tool has been cancelled.

(继承自 ToolTask)
ToolExe

项目可以设置此值以重写任务的 ToolName。Projects may set this to override a task's ToolName. 任务可能会重写此内容以避免这种情况。Tasks may override this to prevent that.

(继承自 ToolTask)
ToolName

此 API 支持产品基础结构,不能在代码中直接使用。

要执行的工具的名称The name of the tool to execute

ToolPath

项目可见属性允许用户替代可执行文件的路径。Project-visible property allows the user to override the path to the executable.

(继承自 ToolTask)
UseCommandProcessor

当设置为 true 时,工具任务将为命令行创建一个批处理文件并使用命令处理器执行该文件,而不是直接执行该命令。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.

(继承自 ToolTask)
UseNewLineSeparatorInResponseFile

当设置为 true 时,响应文件将使用新行分隔参数,而不再使用空格。When set to true, the response file will use new lines instead of spaces to separate arguments.

(继承自 ToolTaskExtension)
UseUtf8Encoding

是否对 cmd 文件和控制台窗口使用 UTF8 编码。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. 在这种情况下,将使用 UTF-8。In that case, UTF-8 is used.

WorkingDirectory

此 API 支持产品基础结构,不能在代码中直接使用。

获取或设置将在其中运行命令的目录。Gets or sets the directory in which the command will run.

YieldDuringToolExecution

当设置为 true 时,此任务会在其任务执行时生成节点。When set to true, this task will yield the node when its task is executing.

(继承自 ToolTask)

方法

AddCommandLineCommands(CommandLineBuilderExtension)

此 API 支持产品基础结构,不能在代码中直接使用。

添加 cmd.exe 的参数Adds the arguments for cmd.exe

AddResponseFileCommands(CommandLineBuilderExtension)

此 API 支持产品基础结构,不能在代码中直接使用。

使用可以进入响应文件的开关和其他信息填充所提供的 CommandLineBuilderExtension。Fills the provided CommandLineBuilderExtension with those switches and other information that can go into a response file.

(继承自 ToolTaskExtension)
AdjustCommandsForOperatingSystem(String)

将反斜杠替换为特定于操作系统的路径分隔符,除非反斜杠是有意添加的。Replace backslashes with OS-specific path separators, except when likely that the backslash is intentional.

(继承自 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. 例如,对于 Csc 和 Vbc 等编译器任务,此方法将在宿主对象上调用 Compile()。For example, for compiler tasks like Csc and Vbc, this method would call Compile() on the host object.

(继承自 ToolTask)
Cancel()

通过以下方式取消正在执行任务的进程:请求该进程正常关闭,在经过短时间的等待之后,强制终止该进程。Cancels the process executing the task by asking it to close nicely, then after a short period, forcing termination.

(继承自 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.

(继承自 ToolTask)
Equals(Object)

确定指定对象是否等于当前对象。Determines whether the specified object is equal to the current object.

(继承自 Object)
Execute()

此方法使用给定参数调用该工具。This method invokes the tool with the given parameters.

(继承自 ToolTask)
ExecuteTool(String, String, String)

此 API 支持产品基础结构,不能在代码中直接使用。

执行 cmd.exe 并等待其完成Executes cmd.exe and waits for it to complete

GenerateCommandLineCommands()

此 API 支持产品基础结构,不能在代码中直接使用。

返回一个字符串,其中包含不能进入响应文件且必须直接转到命令行的开关和其他信息。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. 在 ValidateParameters 和 SkipTaskExecution 之后调用Called after ValidateParameters and SkipTaskExecution

(继承自 ToolTaskExtension)
GenerateFullPathToTool()

此 API 支持产品基础结构,不能在代码中直接使用。

确定 cmd.exe 的路径Determining the path to cmd.exe

GenerateResponseFileCommands()

此 API 支持产品基础结构,不能在代码中直接使用。

返回工具可执行文件使用的命令行开关以指定响应文件,仅在任务从 GetResponseFileCommands 返回非空字符串时调用它,在 ValidateParameters、SkipTaskExecution 和 GetResponseFileCommands 之后调用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

(继承自 ToolTaskExtension)
GetBoolParameterWithDefault(String, Boolean)

此 API 支持产品基础结构,不能在代码中直接使用。

哈希表中不存在值时,则获取一个布尔参数并返回默认值。Get a bool parameter and return a default if its not present in the hash table.

(继承自 ToolTaskExtension)
GetHashCode()

作为默认哈希函数。Serves as the default hash function.

(继承自 Object)
GetIntParameterWithDefault(String, Int32)

此 API 支持产品基础结构,不能在代码中直接使用。

哈希表中不存在值时,则获取一个 int 参数并返回默认值。Get an int parameter and return a default if its not present in the hash table.

(继承自 ToolTaskExtension)
GetProcessStartInfo(String, String, String)

初始化生成执行该工具的进程所需的信息。Initializes the information required to spawn the process executing the tool.

(继承自 ToolTask)
GetResponseFileSwitch(String)

返回工具可执行文件用来指定响应文件的命令行开关。Returns the command line switch used by the tool executable to specify the response file. 将仅在任务从 GetResponseFileCommands 返回非空字符串时调用。在 ValidateParameters、SkipTaskExecution 和 GetResponseFileCommands 之后调用Will only be called if the task returned a non empty string from GetResponseFileCommands Called after ValidateParameters, SkipTaskExecution and GetResponseFileCommands

(继承自 ToolTask)
GetType()

获取当前实例的 TypeGets the Type of the current instance.

(继承自 Object)
GetWorkingDirectory()

此 API 支持产品基础结构,不能在代码中直接使用。

获取要用于进程的工作目录。Gets the working directory to use for the process. 如果 ToolTask 应使用当前目录,则返回 null。Should return null if ToolTask should use the current directory. 如果要使用的目录无效,则可能引发 IOException。May throw an IOException if the directory to be used is somehow invalid.

HandleTaskExecutionErrors()

此 API 支持产品基础结构,不能在代码中直接使用。

允许工具处理返回代码。Allows tool to handle the return code. 将仅在非零 exitCode 设置为 true 的情况下调用此方法。This method will only be called with non-zero exitCode set to true.

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.

(继承自 ToolTask)
LogEventsFromTextOutput(String, MessageImportance)

此 API 支持产品基础结构,不能在代码中直接使用。

在 TaskLoggingHelper 上调用方法以解析一行文本,以查看是否存在有关规范格式的错误或警告。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.

LogEventsFromTextOutput(String, MessageImportance)

在 TaskLoggingHelper 上调用方法以解析一行文本,以查看是否存在有关规范格式的错误或警告。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.

(继承自 ToolTask)
LogPathToTool(String, String)

此 API 支持产品基础结构,不能在代码中直接使用。

记录工具名称和运行路径。Logs the tool name and the path from where it is being run.

LogToolCommand(String)

此 API 支持产品基础结构,不能在代码中直接使用。

记录要执行的命令。Logs the command to be executed.

MemberwiseClone()

创建当前 Object 的浅表副本。Creates a shallow copy of the current Object.

(继承自 Object)
ProcessStarted()

ExecuteTool(String, String, String) 中的 Start() 之后调用的可替代函数Overridable function called after Start() in ExecuteTool(String, String, String)

(继承自 ToolTask)
ResponseFileEscape(String)

用来转义响应文件的可替代方法Overridable method to escape content of the response file

(继承自 ToolTask)
SkipTaskExecution()

如果并非一定要执行任务,则返回 true。Returns true if task execution is not necessary. 在 ValidateParameters 后执行Executed after ValidateParameters

(继承自 ToolTask)
ToString()

返回表示当前对象的字符串。Returns a string that represents the current object.

(继承自 Object)
ValidateParameters()

此 API 支持产品基础结构,不能在代码中直接使用。

验证任务参数,记录所有警告/错误Validate the task arguments, log any warnings/errors

适用于