共用方式為


使用 MSBuild

MSBuild 提供定義完善的可延伸 XML 格式,可用來建立完整描述要建置的專案項目、建置工作和建置組態的專案檔。

一般 MSBuild 考量事項

MSBuild 專案檔,例如 Visual C# .csproj 和 Visual Basic .vbproj 檔案,包含建置時間使用的資料,但也可能包含在設計時間使用的資料。 建置時間資料是使用 MSBuild 基本類型來儲存,包括 Item 元素 (MSBuild)Property 元素 (MSBuild) 。 設計時間資料,這是專案類型和任何相關專案子類型的特定資料,會儲存在為其保留的自由格式 XML 中。

MSBuild 對組態物件沒有原生支援,但會提供條件屬性供指定組態特定資料。 例如:

<OutputDir Condition="'$(Configuration)'=="release'">Bin\MyReleaseConfig</OutputDir>

有關條件屬性的詳細資訊,請參閱條件式建構

延伸專案類型的 MSBuild

MSBuild 介面和 API 在未來的 Visual Studio 版本中可能會有所變動。 因此,請務必謹慎使用 Managed Package Framework (MPF) 類別,因為該類別會提供防護功能來避免變更。

Managed Package Framework for Projects (MPFProj) 提供協助程式類別,可用來建立和管理新的專案系統。 您可以在 MPF for Projects - Visual Studio 2013 中找到原始程式碼和編譯指示。

專案特定的 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 工作來轉換和產生程式碼。 如需詳細資訊,請參閱自訂工具