MSBuild 提供创建的全面介绍要生成的项目项的项目文件显式定义,可扩展 XML 格式,生成任务,并生成配置。
有关根据 MSBuild 的语言项目系统的端对端示例,请参见。Visual Studio 扩展性示例的 IronPython 示例、。
通用 MSBuild 注意事项
MSBuild 项目文件,例如, Visual C# .csproj 和 Visual Basic .vbproj 文件,该文件包含使用在编译时,数据,还可以包含在设计时使用的数据。 使用 MSBuild 基元,其中包括 Item 元素 (MSBuild) 和 Property 元素 (MSBuild),编译时数据存储区。 设计时数据,这是数据特定于项目类型和任何相关项目子类型,在任意形式的 XML 存储预留它。
MSBuild 不本身支持配置对象支持,但是,指定特定于配置的数据提供条件特性。 例如:
<OutputDir Condition="'$(Configuration)'=="release'">Bin\MyReleaseConfig</OutputDir>
有关条件属性的更多信息,请参见 MSBuild 的条件构造。
项类型的扩展 MSBuild
MSBuild 接口和 API 可能会发生在 Visual Studio的将来版本中的更改。 因此,,因为它们提供保护更改,要谨慎 (MPF)地使用托管包 framework 类。
项目 (MPFProj) 托管包框架用于创建和管理新项目系统提供帮助器类。 可以找到源代码和生成命令。 MPF for Projects - Visual Studio 2010
项目特定 MPF 类如下所示:
类 |
实现 |
---|---|
Microsoft.VisualStudio.Package.ProjectNode |
|
Microsoft.VisualStudio.Package.ProjectFactory |
|
Microsoft.VisualStudio.Package.HierarchyNode |
|
Microsoft.VisualStudio.Package.ProjectConfig |
|
Microsoft.VisualStudio.Package.SettingsPage |
Microsoft.VisualStudio.Package.ProjectElement 类是 MSBuild 项目的包装。
单文件生成器。MSBuild 任务
单文件生成器可访问仅在设计时,但是, MSBuild 任务可以在设计时和生成时。 为取得最大的灵活性,因此,使用 MSBuild 任务转换和生成代码。 有关更多信息,请参见 项目项 (Visual Studio SDK)。