共用方式為


使用 MSBuild

MSBuild 會提供完整定義的 「 可延伸的 XML 格式,來建立完整地描述專案項目,要先建置、 建置工作,以及建置組態的專案檔案。

對於以 MSBuild 為基礎的語言專案系統端對端範例,請參閱 IronPython 範例深度剖析,在Visual Studio 的擴充性範例

一般 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) 架構類別,因為它們提供遮蔽處於防止修改。

管理套件架構專案 (MPFProj) 提供建立和管理新的專案系統的協助程式類別。 您可以找到來源的程式碼和編譯的指示,在專案-Visual Studio 2010 MPF。

專案特定的 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 項目的包裝函式。

單一檔案產生器 vs。MSBuild 工作

單一檔案產生器會在執行階段時存取,但是 MSBuild 工作可在設計階段和在建置階段。 最大的彈性,因此,使用 MSBuild 工作來轉換,並產生程式碼。 如需詳細資訊,請參閱 專案項目 (Visual Studio SDK)

請參閱

其他資源

MSBuild 參考

MSBuild

專案項目 (Visual Studio SDK)