MSBuild 词汇表
以下术语用于描述 Microsoft Build Engine (MSBuild) 及其组件。
词汇表
AssemblyFoldersEx
注册表中的一个位置,供第三方供应商存储其支持的每个框架版本的路径,设计时解决方案可以在此位置中查找引用程序集。Batching — 批处理
批处理是指根据项元数据将项划分为称为“批次”的不同类别,然后使用每个批次运行目标或任务一次。 批处理是 for--loop 构造的 MSBuild 等效项。 有关更多信息,请参见 MSBuild 批处理。Build-scope — 生成范围
生成范围描述 MSBuild 对象,例如,对于项目或在多项目生成中创建的任何子项目可能可见的全局属性。Child Project — 子项目
请参见:项目,子项目。条件
许多 MSBuild 元素都可能是有条件地定义的;也就是说,元素中会出现 Condition 特性。 除非条件的计算结果为 true,否则会忽略条件元素的内容。 有关更多信息,请参见 MSBuild 条件。Definition, Item — 定义,项
请参见:项定义。Emit Item — 发出项
在生成的执行阶段中,项可由具有子 Output 元素的任务创建或修改,这些元素具有 ItemName 特性。 任务被称为在“发出”新项。Emit Property — 发出属性
在生成的执行阶段中,属性可由具有子 Output 元素的任务创建或修改,这些元素具有 PropertyName 特性。 任务被称为在“发出”新属性。Evaluation Phase — 计算阶段
计算是项目生成的第一个阶段。 所有属性和项均按其在项目中出现的顺序进行计算。 在项目中遇到导入的项目时,将对导入的项目进行计算。 目标和任务不会在执行阶段之前运行,并且在计算阶段中将忽略目标和任务将声明或发出的任何属性或项。Execution Phase — 执行阶段
执行是项目生成的第二个阶段。 将生成选定的目标,并运行任务。 可以相比较属性和项的计算值来创建或修改属性和项。Function, Property — 函数,属性
请参见:属性函数。函数, 项
请参见项函数。Item — 项
项是生成系统的输入,并会根据其元素名称编组到各种项类型中。 项通常表示文件。 由于项按其所属的项类型进行命名,因此术语“项”和“项值”可以交换使用。 有关更多信息,请参见 MSBuild 项。Item Definition — 项定义
项定义组包含用于向任何项类型中添加默认元数据的项定义。 与已知元数据一样,默认元数据与所指定项类型的所有项相关联。 可以在项定义中显式重写默认元数据。 有关更多信息,请参见项定义。项函数
项函数可获取有关项目中的项的信息。 这些函数简化了获取 Distinct() 项的过程,比循环访问各个项的速度更快。 有一些函数可用于操作项路径和字符串。 有关更多信息,请参见项函数。Item Metadata — 项元数据
请参见:元数据,项。Item Type — 项类型
项类型是项的命名列表,可以用作任务的参数。 任务使用项值来执行生成过程的步骤。 有关更多信息,请参见 MSBuild 项。Metadata, Item — 元数据,项
项元数据是与项关联的名称/值对的集合。 元数据(已知元数据除外)为项提供描述性信息,并且是可选的。 有关更多信息,请参见 MSBuild 项。Metadata, Well-known — 元数据,已知
已知元数据是使用预定义值初始化的只读项元数据。 已知元数据为引用文件的项提供描述性信息。 例如,名为 FullPath 的已知元数据的值是所引用文件的完整路径。 有关更多信息,请参见 MSBuild 项。Multitargeting — 多目标
应用程序或程序集项目在 MSBuild 和 Visual Studio 中以许多不同的 CLR 和框架为目标的能力。Profile — 配置文件
完整框架的一个子集。 用于将需要下载到计算机的内容量最小化。Project File — 项目文件
项目文件包含用于控制生成的 MSBuild 脚本。 项目文件通常具有以“proj”结尾的文件扩展名,例如 .csproj 或 .vbproj。 项目文件可以导入属性文件和目标文件。属性
属性是用于控制生成过程的键/值对。 有关更多信息,请参见 MSBuild 属性。Property, Environment — 属性,环境
环境属性是这样一种属性,它会自动初始化为具有相同名称的系统环境变量的值。 有关更多信息,请参见 MSBuild 属性。Property File — 属性文件
属性文件是一种项目文件,其中包含用于引导生成的大部分属性组和项组。 按照约定,其文件扩展名为 .props。 属性文件通常是在关联项目文件的开头导入的。Property, Function — 属性,函数
属性函数是一种系统属性或方法,可用于计算 MSBuild 脚本。 属性方法可用于读取系统时间、比较字符串、匹配正则表达式,以及执行其他操作。 有关更多信息,请参见属性函数。Property Function, Nested — 属性函数,嵌套
可将属性函数组合在一起,组成更复杂的函数。 例如,$([MSBuild]::BitwiseAnd(32, $([System.IO.File]::GetAttributes(tempFile))))
有关更多信息,请参见属性函数。
Property, Global — 属性,全局
全局属性是用于控制生成过程的键/值对。 全局属性是在命令提示符下或通过使用 MSBuild 任务的 Properties 特性设置的,并且在生成的计算阶段中无法修改全局属性。 有关更多信息,请参见 MSBuild 属性。Property, Local — 属性,本地
本地属性是用于控制生成过程的键/值对。 此术语仅用于区分不是全局属性的属性。Property, Registry — 属性,注册表
注册表属性具有使用特殊语法设置的值,该语法读取系统注册表子项的值。 有关更多信息,请参见!!!测试开始[Registry Lookups]测试结束!!!。Property, Reserved — 属性,保留
保留属性是用于控制生成过程的键/值对。 保留属性将自动初始化为预定义的值。 有关更多信息,请参见 MSBuild 属性。Project-scope — 项目范围
项目范围描述 MSBuild 对象,例如,仅在包含项目文件中可见并且仅对于它导入的任何项目可见的本地属性。Project, Child — 项目,子项目
子项目通常由 MSBuild 任务在项目生成过程中创建。 此新项目是包含或导入目标(其中包含 MSBuild 任务)的项目的子项目。 除非通过 Properties 特性修改了父项目的全局属性,否则子项目将继承这些属性。Redist List — redist 列表
再发行列表:与给定的框架对应的程序集的列表。Reference Assembly — 引用程序集
在设计时中用来创建应用程序的程序集。 可以从引用程序集中移除实际代码和私有接口,而仅保留元数据和公共接口。Registry Property — 注册表属性
请参见:属性,注册表。target
目标按特定的顺序将任务组合到一起,并将项目文件的各个部分公开为生成过程的入口点。 有关更多信息,请参见 MSBuild 目标。Target, Building — 目标,生成
请参见:目标,运行。Target, Evaluating — 目标,评估
由于增量编译的原因,必须对目标进行分析,以对属性和项进行可能的更改。 即使跳过了目标,也必须进行这些更改。 评估目标意指执行此分析并进行这些更改。 有关更多信息,请参见增量生成。Target, Executing — 目标,执行
执行目标意指评估目标并执行没有条件的所有任务,或执行条件计算结果为 true 的所有任务。 在增量编译过程中,可以跳过或执行目标,但始终会对目标进行评估。 有关更多信息,请参见:目标,评估。Target, Running — 目标,运行
条件计算结果为 false 的目标将不会运行,也就是说,对生成没有影响。 会执行或跳过运行的目标。 在任一情况下,都会对目标进行评估。 有关更多信息,请参见:目标,评估。Target, Skipping — 目标,跳过
如果增量编译确定所有输出文件均为最新,则会跳过目标,也就是说,将对目标进行评估,但不会执行目标内的任务。 有关更多信息,请参见:目标,评估。Target Framework Moniker — 目标框架名字对象
一个名称,用于描述您希望作为目标的框架(如 .NETFramwork、Silverlight 等)、版本和配置文件(如 Client、Server 等)。Targeting Pack — 目标包
随给定框架分发的程序集列表以及该框架的引用程序集的集合。Targets File — 目标文件
目标文件是一种项目文件,其中包含用于引导生成的大部分目标和任务。 按照约定,其文件扩展名为 .targets。 目标文件通常是在关联项目文件的末尾导入的。Task — 任务
任务是 MSBuild 项目用于执行生成操作的可执行代码单元。 例如,任务可能编译输入文件或运行外部工具。 有关更多信息,请参见 MSBuild 任务。Transform — 转换
转换是从一个项集合到另一个项集合的一对一变换。 通过转换,不仅项目可以转换项集合,目标还可以确定其输入和输出之间的直接映射。 有关更多信息,请参见 MSBuild 转换。Well-known Metadata — 已知元数据
请参见:元数据,已知。