使用 MSBuild

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

IVsProject3

IVsCfgProvider2

IPersistFileFormat

IVsSolutionEvents

Microsoft.VisualStudio.Package.ProjectFactory

IVsProjectFactory

Microsoft.VisualStudio.Package.HierarchyNode

IVsHierarchy

Microsoft.VisualStudio.Package.ProjectConfig

IVsCfg

IVsProjectCfg

IVsBuildableProjectCfg

IVsDebuggableProjectCfg

Microsoft.VisualStudio.Package.SettingsPage

IPropertyPageSite

Microsoft.VisualStudio.Package.ProjectElement 类是 MSBuild 项目的包装。

单文件生成器。MSBuild 任务

单文件生成器可访问仅在设计时,但是, MSBuild 任务可以在设计时和生成时。 为取得最大的灵活性,因此,使用 MSBuild 任务转换和生成代码。 有关更多信息,请参见 项目项 (Visual Studio SDK)

请参见

其他资源

MSBuild 参考

MSBuild

项目项 (Visual Studio SDK)