MSBuild Class

Definition

Implements the MSBuild task. Use the MSBuild element in your project file to create and execute this task. For usage and parameter information, see MSBuild Task.

This API supports the product infrastructure and is not intended to be used directly from your code.

public ref class MSBuild : Microsoft::Build::Tasks::TaskExtension
[Microsoft.Build.Framework.RunInMTA]
public class MSBuild : Microsoft.Build.Tasks.TaskExtension
public class MSBuild : Microsoft.Build.Tasks.TaskExtension
[<Microsoft.Build.Framework.RunInMTA>]
type MSBuild = class
    inherit TaskExtension
type MSBuild = class
    inherit TaskExtension
Public Class MSBuild
Inherits TaskExtension
Inheritance
Attributes

Remarks

This class implements the "MSBuild" task, which hands off child project files to the MSBuild engine to be built. Marked RunInMTA because there is no reason MSBuild tasks should run on a thread other than that of the RequestBuilder which spawned them.

Constructors

MSBuild()

This API supports the product infrastructure and is not intended to be used directly from your code.

Initializes a new instance of the MSBuild class.

Properties

BuildEngine

The build engine automatically sets this property to allow tasks to call back into it.

(Inherited from Task)
BuildEngine2

The build engine automatically sets this property to allow tasks to call back into it. This is a convenience property so that task authors inheriting from this class do not have to cast the value from IBuildEngine to IBuildEngine2.

(Inherited from Task)
BuildEngine3

Retrieves the IBuildEngine3 version of the build engine interface provided by the host.

(Inherited from Task)
BuildEngine4

Retrieves the IBuildEngine4 version of the build engine interface provided by the host.

(Inherited from Task)
BuildEngine5

Retrieves the IBuildEngine5 version of the build engine interface provided by the host.

(Inherited from Task)
BuildEngine6

Retrieves the IBuildEngine6 version of the build engine interface provided by the host.

(Inherited from Task)
BuildEngine7

Retrieves the IBuildEngine7 version of the build engine interface provided by the host.

(Inherited from Task)
BuildEngine8

Retrieves the IBuildEngine8 version of the build engine interface provided by the host.

(Inherited from Task)
BuildEngine9

Retrieves the IBuildEngine9 version of the build engine interface provided by the host.

(Inherited from Task)
BuildInParallel

This API supports the product infrastructure and is not intended to be used directly from your code.

When this is true we call the engine with all the projects at once instead of calling the engine once per project

HelpKeywordPrefix

Gets or sets the prefix used to compose help keywords from string resource names. If a task does not have help keywords associated with its messages, it can ignore this property or set it to null. If the prefix is set to an empty string, then string resource names will be used verbatim as help keywords. For an example of how this prefix is used, see the TaskLoggingHelper.LogErrorWithCodeFromResources(string, object[]) method.

(Inherited from Task)
HostObject

The build engine sets this property if the host IDE has associated a host object with this particular task.

(Inherited from Task)
Log

This API supports the product infrastructure and is not intended to be used directly from your code.

Gets an instance of a TaskLoggingHelperExtension class containing task logging methods.

(Inherited from TaskExtension)
Projects

This API supports the product infrastructure and is not intended to be used directly from your code.

The projects to build.

Properties

This API supports the product infrastructure and is not intended to be used directly from your code.

A list of property name/value pairs to apply as global properties to the child project.
A typical input: "propname1=propvalue1", "propname2=propvalue2", "propname3=propvalue3".

RebaseOutputs

This API supports the product infrastructure and is not intended to be used directly from your code.

Indicates if the paths of target output items should be rebased relative to the calling project.

RemoveProperties

This API supports the product infrastructure and is not intended to be used directly from your code.

Gets or sets the set of global properties to remove.

RunEachTargetSeparately

This API supports the product infrastructure and is not intended to be used directly from your code.

When this is true, instead of calling the engine once to build all the targets (for each project), we would call the engine once per target (for each project). The benefit of this is that if one target fails, you can still continue with the remaining targets.

SkipNonexistentProjects

This API supports the product infrastructure and is not intended to be used directly from your code.

When this is true, project files that do not exist on the disk will be skipped. By default, such projects will cause an error.

StopOnFirstFailure

This API supports the product infrastructure and is not intended to be used directly from your code.

Forces the task to stop building the remaining projects as soon as any of them fail.

TargetAndPropertyListSeparators

This API supports the product infrastructure and is not intended to be used directly from your code.

Unescape Targets, Properties (including Properties and AdditionalProperties as Project item metadata) will be un-escaped before processing. e.g. %3B (an escaped ';') in the string for any of them will be treated as if it were an un-escaped ';'

TargetOutputs

This API supports the product infrastructure and is not intended to be used directly from your code.

Outputs of the targets built in each project.

Targets

This API supports the product infrastructure and is not intended to be used directly from your code.

The targets to build in each project specified by the Projects property.

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.

(Inherited from Task)
ToolsVersion

This API supports the product infrastructure and is not intended to be used directly from your code.

Value of ToolsVersion to use when building projects passed to this task.

UnloadProjectsOnCompletion

This API supports the product infrastructure and is not intended to be used directly from your code.

If true the project will be unloaded once the operation is completed

UseResultsCache

This API supports the product infrastructure and is not intended to be used directly from your code.

Deprecated. Does nothing.

Methods

Execute()

This API supports the product infrastructure and is not intended to be used directly from your code.

Instructs the MSBuild engine to build one or more project files whose locations are specified by the Projects property.

Applies to