共用方式為


使用 MSBuild

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

MSBuild 一般考量事項

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

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

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

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

您的專案類型的 MSBuild 擴充

MSBuild 介面和 API 可能會在未來版本的 Visual Studio 中變更。 因此,謹慎使用受管理封裝架構 (MPF) 類別,因為它們提供變更防護。

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

項目專用的強積金類別如下:

Class Implementation
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 class 是 MSBuild 專案的包裝函式。

單一檔案產生器與 MSBuild 工作

單一檔案產生器只能在設計階段存取,但 MSBuild 工作可以在設計階段和建置階段使用。 因此,為了獲得最大的彈性,請使用 MSBuild 工作來轉換和產生程式碼。 如需詳細資訊,請參閱 自訂工具