MSBuild 类

定义

实现 MSBuild 任务。Implements the MSBuild task. 使用项目文件中的 MSBuild 元素创建和执行此任务。Use the MSBuild element in your project file to create and execute this task. 有关用法和参数信息,请参阅 MSBuild 任务For usage and parameter information, see MSBuild Task.

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

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
继承
属性

注解

此类实现了 "MSBuild" 任务,该任务将子项目文件移交给要生成的 MSBuild 引擎。This class implements the "MSBuild" task, which hands off child project files to the MSBuild engine to be built. 标记为 RunInMTA,因为 MSBuild 任务不应在生成它们的 RequestBuilder 的线程上运行。Marked RunInMTA because there is no reason MSBuild tasks should run on a thread other than that of the RequestBuilder which spawned them.

构造函数

MSBuild()

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

初始化 MSBuild 类的新实例。Initializes a new instance of the MSBuild class.

属性

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

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

如果为 true,我们会同时调用所有项目的引擎,而不是为每个项目调用一次引擎When this is true we call the engine with all the projects at once instead of calling the engine once per project

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

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

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

(继承自 TaskExtension)
Projects

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

要生成的项目。The projects to build.

Properties

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

作为全局属性应用到子项目的属性名称/值对列表。A list of property name/value pairs to apply as global properties to the child project.
典型输入:“propname1=propvalue1”、“propname2=propvalue2”、“propname3=propvalue3”。A typical input: "propname1=propvalue1", "propname2=propvalue2", "propname3=propvalue3".

RebaseOutputs

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

指示目标输出项的路径是否应相对于调用项目进行变基。Indicates if the paths of target output items should be rebased relative to the calling project.

RemoveProperties

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

获取或设置要移除的全局属性集。Gets or sets the set of global properties to remove.

RunEachTargetSeparately

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

如果为 true,则会(对于每个项目)为每个目标调用一次引擎,而不是(对于每个项目)调用一次引擎以生成所有目标。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

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

如果为 true,则会跳过磁盘上不存在的项目文件。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

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

一旦有任何一个项目失败,则强制任务停止生成其余项目。Forces the task to stop building the remaining projects as soon as any of them fail.

TargetAndPropertyListSeparators

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

在处理前,将对 Targets、Properties(包括作为 Project 项元数据的 Properties 和 AdditionalProperties)恢复原义。Unescape Targets, Properties (including Properties and AdditionalProperties as Project item metadata) will be un-escaped before processing. 例如,任何一个字符串中的 %3B(转义的“;”)将被视为恢复原义的“;”e.g. %3B (an escaped ';') in the string for any of them will be treated as if it were an un-escaped ';'

TargetOutputs

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

在每个项目中生成的目标的输出。Outputs of the targets built in each project.

Targets

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

要在 Projects 属性指定的每个项目中生成的目标。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.

(继承自 Task)
ToolsVersion

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

在生成项目传递到此任务时要使用的 ToolsVersion 的值。Value of ToolsVersion to use when building projects passed to this task.

UnloadProjectsOnCompletion

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

如果为 true,则在操作完成后,将立即卸载项目If true the project will be unloaded once the operation is completed

UseResultsCache

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

已否决。Deprecated. 不执行任何操作。Does nothing.

方法

Equals(Object)

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

(继承自 Object)
Execute()

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

指示 MSBuild 引擎生成一个或多个项目文件,这些项目文件的位置由 Projects 属性指定。Instructs the MSBuild engine to build one or more project files whose locations are specified by the Projects property.

GetHashCode()

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

(继承自 Object)
GetType()

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

(继承自 Object)
MemberwiseClone()

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

(继承自 Object)
ToString()

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

(继承自 Object)

适用于