ToolTask Class
When overridden in a derived form, provides functionality for a task that wraps a command line tool.
MSBuild is now included in Visual Studio instead of the .NET Framework. You can use MSBuild 12.0 side-by-side with versions previously deployed with the .NET Framework.For more information, see What's New in MSBuild 12.0.
Assembly: Microsoft.Build.Utilities.Core (in Microsoft.Build.Utilities.Core.dll)
Microsoft.Build.Utilities::Task
Microsoft.Build.Utilities::ToolTask
Microsoft.Build.Tasks::ToolTaskExtension
Microsoft.Build.Tasks.Xaml::XamlDataDrivenToolTask
| Name | Description | |
|---|---|---|
![]() | ToolTask() | Initializes a new instance of the ToolTask class. MSBuild is now included in Visual Studio instead of the .NET Framework. You can use MSBuild 12.0 side-by-side with versions previously deployed with the .NET Framework.For more information, see What's New in MSBuild 12.0. |
![]() | ToolTask(ResourceManager^) | Initializes a new instance of the ToolTask class with the specified ResourceManager. MSBuild is now included in Visual Studio instead of the .NET Framework. You can use MSBuild 12.0 side-by-side with versions previously deployed with the .NET Framework.For more information, see What's New in MSBuild 12.0. |
![]() | ToolTask(ResourceManager^, String^) | Initializes a new instance of the ToolTask class with the specified ResourceManager and Help keyword prefix. MSBuild is now included in Visual Studio instead of the .NET Framework. You can use MSBuild 12.0 side-by-side with versions previously deployed with the .NET Framework.For more information, see What's New in MSBuild 12.0. |
| Name | Description | |
|---|---|---|
![]() | BuildEngine | Gets or sets the instance of the IBuildEngine object used by the task. MSBuild is now included in Visual Studio instead of the .NET Framework. You can use MSBuild 12.0 side-by-side with versions previously deployed with the .NET Framework.For more information, see What's New in MSBuild 12.0.(Inherited from Task.) |
![]() | BuildEngine2 | Gets the instance of the IBuildEngine2 object used by the task. MSBuild is now included in Visual Studio instead of the .NET Framework. You can use MSBuild 12.0 side-by-side with versions previously deployed with the .NET Framework.For more information, see What's New in MSBuild 12.0.(Inherited from Task.) |
![]() | BuildEngine3 | Gets the instance of the IBuildEngine3 object used by the task. MSBuild is now included in Visual Studio instead of the .NET Framework. You can use MSBuild 12.0 side-by-side with versions previously deployed with the .NET Framework.For more information, see What's New in MSBuild 12.0.(Inherited from Task.) |
![]() | BuildEngine4 | Gets the instance of the IBuildEngine4 object used by the task. MSBuild is now included in Visual Studio instead of the .NET Framework. You can use MSBuild 12.0 side-by-side with versions previously deployed with the .NET Framework.For more information, see What's New in MSBuild 12.0.(Inherited from Task.) |
![]() | EchoOff | Indicates that command line echoing is turned off. MSBuild is now included in Visual Studio instead of the .NET Framework. You can use MSBuild 12.0 side-by-side with versions previously deployed with the .NET Framework.For more information, see What's New in MSBuild 12.0. |
![]() | EnvironmentOverride | Obsolete.Gets a set of environment variable name-value pairs. Designed to be overridden in a custom task class (derived from ToolTask) to return a set of new or altered environment variables to create the execution context of the associated tool. MSBuild is now included in Visual Studio instead of the .NET Framework. You can use MSBuild 12.0 side-by-side with versions previously deployed with the .NET Framework.For more information, see What's New in MSBuild 12.0. |
![]() | 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. MSBuild is now included in Visual Studio instead of the .NET Framework. You can use MSBuild 12.0 side-by-side with versions previously deployed with the .NET Framework.For more information, see What's New in MSBuild 12.0. |
![]() | ExitCode | Gets the returned exit code of the executable file. MSBuild is now included in Visual Studio instead of the .NET Framework. You can use MSBuild 12.0 side-by-side with versions previously deployed with the .NET Framework.For more information, see What's New in MSBuild 12.0. |
![]() | HasLoggedErrors | Whether this ToolTask has logged any errors MSBuild is now included in Visual Studio instead of the .NET Framework. You can use MSBuild 12.0 side-by-side with versions previously deployed with the .NET Framework.For more information, see What's New in MSBuild 12.0. |
![]() | HelpKeywordPrefix | Gets or sets the prefix used to compose Help keywords from resource names. MSBuild is now included in Visual Studio instead of the .NET Framework. You can use MSBuild 12.0 side-by-side with versions previously deployed with the .NET Framework.For more information, see What's New in MSBuild 12.0.(Inherited from Task.) |
![]() | HostObject | Gets or sets the host object associated with the task. MSBuild is now included in Visual Studio instead of the .NET Framework. You can use MSBuild 12.0 side-by-side with versions previously deployed with the .NET Framework.For more information, see What's New in MSBuild 12.0.(Inherited from Task.) |
![]() | Log | Gets an instance of a TaskLoggingHelper class containing task logging methods. MSBuild is now included in Visual Studio instead of the .NET Framework. You can use MSBuild 12.0 side-by-side with versions previously deployed with the .NET Framework.For more information, see What's New in MSBuild 12.0.(Inherited from Task.) |
![]() | LogStandardErrorAsError | Should ALL messages received on the standard error stream be logged as errors. MSBuild is now included in Visual Studio instead of the .NET Framework. You can use MSBuild 12.0 side-by-side with versions previously deployed with the .NET Framework.For more information, see What's New in MSBuild 12.0. |
![]() | ResponseFileEncoding | Gets the Encoding of the response file. MSBuild is now included in Visual Studio instead of the .NET Framework. You can use MSBuild 12.0 side-by-side with versions previously deployed with the .NET Framework.For more information, see What's New in MSBuild 12.0. |
![]() | StandardErrorEncoding | Gets the Encoding of the standard error stream of the task. MSBuild is now included in Visual Studio instead of the .NET Framework. You can use MSBuild 12.0 side-by-side with versions previously deployed with the .NET Framework.For more information, see What's New in MSBuild 12.0. |
![]() | StandardErrorImportance | Task Parameter: Importance with which to log text from the standard error stream. MSBuild is now included in Visual Studio instead of the .NET Framework. You can use MSBuild 12.0 side-by-side with versions previously deployed with the .NET Framework.For more information, see What's New in MSBuild 12.0. |
![]() | StandardErrorImportanceToUse | Gets the actual importance at which standard error messages will be logged. MSBuild is now included in Visual Studio instead of the .NET Framework. You can use MSBuild 12.0 side-by-side with versions previously deployed with the .NET Framework.For more information, see What's New in MSBuild 12.0. |
![]() | StandardErrorLoggingImportance | Gets the MessageImportance with which to log errors. MSBuild is now included in Visual Studio instead of the .NET Framework. You can use MSBuild 12.0 side-by-side with versions previously deployed with the .NET Framework.For more information, see What's New in MSBuild 12.0. |
![]() | StandardOutputEncoding | Gets the Encoding of the standard output stream of the task. MSBuild is now included in Visual Studio instead of the .NET Framework. You can use MSBuild 12.0 side-by-side with versions previously deployed with the .NET Framework.For more information, see What's New in MSBuild 12.0. |
![]() | StandardOutputImportance | Task Parameter: Importance with which to log text from the standard out stream. MSBuild is now included in Visual Studio instead of the .NET Framework. You can use MSBuild 12.0 side-by-side with versions previously deployed with the .NET Framework.For more information, see What's New in MSBuild 12.0. |
![]() | StandardOutputImportanceToUse | Gets the actual importance at which standard out messages will be logged. MSBuild is now included in Visual Studio instead of the .NET Framework. You can use MSBuild 12.0 side-by-side with versions previously deployed with the .NET Framework.For more information, see What's New in MSBuild 12.0. |
![]() | StandardOutputLoggingImportance | Gets the MessageImportance with which to log errors. MSBuild is now included in Visual Studio instead of the .NET Framework. You can use MSBuild 12.0 side-by-side with versions previously deployed with the .NET Framework.For more information, see What's New in MSBuild 12.0. |
![]() | TaskProcessTerminationTimeout | A timeout to wait for a task to terminate before killing it. In milliseconds. MSBuild is now included in Visual Studio instead of the .NET Framework. You can use MSBuild 12.0 side-by-side with versions previously deployed with the .NET Framework.For more information, see What's New in MSBuild 12.0. |
![]() | TaskResources | Gets or sets the culture-specific resources associated with the task. MSBuild is now included in Visual Studio instead of the .NET Framework. You can use MSBuild 12.0 side-by-side with versions previously deployed with the .NET Framework.For more information, see What's New in MSBuild 12.0.(Inherited from Task.) |
![]() | Timeout | Gets or sets the amount of time after which the task executable is terminated. MSBuild is now included in Visual Studio instead of the .NET Framework. You can use MSBuild 12.0 side-by-side with versions previously deployed with the .NET Framework.For more information, see What's New in MSBuild 12.0. |
![]() | ToolCanceled | Used to signal when a tool has been cancelled. MSBuild is now included in Visual Studio instead of the .NET Framework. You can use MSBuild 12.0 side-by-side with versions previously deployed with the .NET Framework.For more information, see What's New in MSBuild 12.0. |
![]() | ToolExe | Projects may set this to override a task's ToolName. Tasks may override this to prevent that. MSBuild is now included in Visual Studio instead of the .NET Framework. You can use MSBuild 12.0 side-by-side with versions previously deployed with the .NET Framework.For more information, see What's New in MSBuild 12.0. |
![]() | ToolName | Gets the name of the executable file to run. MSBuild is now included in Visual Studio instead of the .NET Framework. You can use MSBuild 12.0 side-by-side with versions previously deployed with the .NET Framework.For more information, see What's New in MSBuild 12.0. |
![]() | ToolPath | Gets or sets the path of the executable file to run. MSBuild is now included in Visual Studio instead of the .NET Framework. You can use MSBuild 12.0 side-by-side with versions previously deployed with the .NET Framework.For more information, see What's New in MSBuild 12.0. |
![]() | UseCommandProcessor | Gets or sets a switch that specifies whether 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. MSBuild is now included in Visual Studio instead of the .NET Framework. You can use MSBuild 12.0 side-by-side with versions previously deployed with the .NET Framework.For more information, see What's New in MSBuild 12.0. |
![]() | YieldDuringToolExecution | Indicates if the task will yield the node during tool execution. MSBuild is now included in Visual Studio instead of the .NET Framework. You can use MSBuild 12.0 side-by-side with versions previously deployed with the .NET Framework.For more information, see What's New in MSBuild 12.0. |
| Name | Description | |
|---|---|---|
![]() | CallHostObjectToExecute() | Calls the host object to perform the work of the task. MSBuild is now included in Visual Studio instead of the .NET Framework. You can use MSBuild 12.0 side-by-side with versions previously deployed with the .NET Framework.For more information, see What's New in MSBuild 12.0. |
![]() | Cancel() | Cancels the process executing the task by asking it to close nicely, then after a short period, forcing termination. MSBuild is now included in Visual Studio instead of the .NET Framework. You can use MSBuild 12.0 side-by-side with versions previously deployed with the .NET Framework.For more information, see What's New in MSBuild 12.0. |
![]() | DeleteTempFile(String^) | Deletes the specified temporary file. MSBuild is now included in Visual Studio instead of the .NET Framework. You can use MSBuild 12.0 side-by-side with versions previously deployed with the .NET Framework.For more information, see What's New in MSBuild 12.0. |
![]() | Equals(Object^) | (Inherited from Object.) |
![]() | Execute() | Runs the exectuable file with the specified task parameters. MSBuild is now included in Visual Studio instead of the .NET Framework. You can use MSBuild 12.0 side-by-side with versions previously deployed with the .NET Framework.For more information, see What's New in MSBuild 12.0.(Overrides Task::Execute().) |
![]() | ExecuteTool(String^, String^, String^) | Creates a temporoary response (.rsp) file and runs the executable file. MSBuild is now included in Visual Studio instead of the .NET Framework. You can use MSBuild 12.0 side-by-side with versions previously deployed with the .NET Framework.For more information, see What's New in MSBuild 12.0. |
![]() | Finalize() | (Inherited from Object.) |
![]() | GenerateCommandLineCommands() | Returns a string value containing the command line arguments to pass directly to the executable file. MSBuild is now included in Visual Studio instead of the .NET Framework. You can use MSBuild 12.0 side-by-side with versions previously deployed with the .NET Framework.For more information, see What's New in MSBuild 12.0. |
![]() | GenerateFullPathToTool() | Returns the fully qualified path to the executable file. MSBuild is now included in Visual Studio instead of the .NET Framework. You can use MSBuild 12.0 side-by-side with versions previously deployed with the .NET Framework.For more information, see What's New in MSBuild 12.0. |
![]() | GenerateResponseFileCommands() | Returns a string value containing the command line arguments to add to the response (.rsp) file before running the executable file. MSBuild is now included in Visual Studio instead of the .NET Framework. You can use MSBuild 12.0 side-by-side with versions previously deployed with the .NET Framework.For more information, see What's New in MSBuild 12.0. |
![]() | GetHashCode() | (Inherited from Object.) |
![]() | GetProcessStartInfo(String^, String^, String^) | Initializes the information required to spawn the process executing the tool. MSBuild is now included in Visual Studio instead of the .NET Framework. You can use MSBuild 12.0 side-by-side with versions previously deployed with the .NET Framework.For more information, see What's New in MSBuild 12.0. |
![]() | GetResponseFileSwitch(String^) | Returns the command line switch used by the executable file to specifiy a response (.rsp) file. MSBuild is now included in Visual Studio instead of the .NET Framework. You can use MSBuild 12.0 side-by-side with versions previously deployed with the .NET Framework.For more information, see What's New in MSBuild 12.0. |
![]() | GetType() | (Inherited from Object.) |
![]() | GetWorkingDirectory() | Returns the directory in which to run the executable file. MSBuild is now included in Visual Studio instead of the .NET Framework. You can use MSBuild 12.0 side-by-side with versions previously deployed with the .NET Framework.For more information, see What's New in MSBuild 12.0. |
![]() | HandleTaskExecutionErrors() | Handles execution errors raised by the executable file. MSBuild is now included in Visual Studio instead of the .NET Framework. You can use MSBuild 12.0 side-by-side with versions previously deployed with the .NET Framework.For more information, see What's New in MSBuild 12.0. |
![]() | InitializeHostObject() | Initializes the host object of the task. MSBuild is now included in Visual Studio instead of the .NET Framework. You can use MSBuild 12.0 side-by-side with versions previously deployed with the .NET Framework.For more information, see What's New in MSBuild 12.0. |
![]() | LogEventsFromTextOutput(String^, MessageImportance) | Parses a single line of text to identify any errors or warnings in canonical format. MSBuild is now included in Visual Studio instead of the .NET Framework. You can use MSBuild 12.0 side-by-side with versions previously deployed with the .NET Framework.For more information, see What's New in MSBuild 12.0. |
![]() | LogPathToTool(String^, String^) | Logs the tool name and path to all registered loggers. MSBuild is now included in Visual Studio instead of the .NET Framework. You can use MSBuild 12.0 side-by-side with versions previously deployed with the .NET Framework.For more information, see What's New in MSBuild 12.0. |
![]() | LogToolCommand(String^) | Logs the starting point of the run to all registered loggers. MSBuild is now included in Visual Studio instead of the .NET Framework. You can use MSBuild 12.0 side-by-side with versions previously deployed with the .NET Framework.For more information, see What's New in MSBuild 12.0. |
![]() | MemberwiseClone() | (Inherited from Object.) |
![]() | ResponseFileEscape(String^) | Overridable method to escape the content of the response file. MSBuild is now included in Visual Studio instead of the .NET Framework. You can use MSBuild 12.0 side-by-side with versions previously deployed with the .NET Framework.For more information, see What's New in MSBuild 12.0. |
![]() | SkipTaskExecution() | Indicates whether task execution should be skipped. MSBuild is now included in Visual Studio instead of the .NET Framework. You can use MSBuild 12.0 side-by-side with versions previously deployed with the .NET Framework.For more information, see What's New in MSBuild 12.0. |
![]() | ToString() | (Inherited from Object.) |
![]() | ValidateParameters() | Indicates whether all task paratmeters are valid. MSBuild is now included in Visual Studio instead of the .NET Framework. You can use MSBuild 12.0 side-by-side with versions previously deployed with the .NET Framework.For more information, see What's New in MSBuild 12.0. |
This abstract class provides default implementations for the methods and properties of a task that wraps a command line tool.
The following example creates a ToolTask that runs Ilasm.exe (IL Assembler). The CommandLineBuilder, ToolLocationHelper, and TaskLoggingHelper classes are used to generate the information needed to run the task.
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.



