命令列上的 MSBuild - C++

一般而言,我們建議您使用 Visual Studio 來設定專案屬性並叫用 MSBuild 系統。 不過,您可以直接從命令提示字元使用 MSBuild 工具。 建置程式是由您可以建立和編輯之專案檔 (.vcxproj) 中的資訊所控制。 專案檔會根據建置階段、條件和事件來指定建置選項。 此外,您可以指定零個或多個命令列 選項 引數。

msbuild.exe [ project_file ] [ options ]

使用 /target (或 /t ) 和 /property (或 /p ) 命令列選項來覆寫專案檔中指定的特定屬性和目標。

專案檔的基本功能是指定目標 ,這是套用至專案的特定作業,以及執行該作業所需的輸入和輸出。 專案檔可以指定一或多個目標,其中包含預設目標。

每個目標都包含一或多個 工作序列。 每個工作都會以包含一個可執行命令的 .NET Framework 類別來表示。 例如, CL 工作 包含 cl.exe 命令。

工作 參數 是類別工作的 屬性,通常代表可執行命令的命令列選項。 例如,工作的 FavorSizeOrSpeed 參數 CL 會對應至 /Os /Ot 編譯器選項。

其他工作參數支援 MSBuild 基礎結構。 例如, Sources task 參數會指定一組可由其他工作取用的工作。 如需 MSBuild 工作的詳細資訊,請參閱 工作參考

大部分的工作都需要輸入和輸出,例如檔案名、路徑和字串、數值或布林參數。 例如,常見的輸入是要編譯的 .cpp 原始程式檔名稱。 重要的輸入參數是指定組建組態和平臺的字串,例如「Debug|Win32」。 輸入和輸出是由元素中包含的 ItemGroup 一或多個使用者定義 XML Item 元素所指定。

專案檔也可以指定使用者定義的 屬性 ItemDefinitionGroup 專案 。 屬性和專案表單名稱/值組,可用於組建中的變數。 配對的名稱元件會 定義宏 ,而值元件會 宣告宏值 。 屬性宏是使用 $(name ) 標記法來存取,而專案宏則是使用 %( name ) 標記法來存取。

專案檔中的其他 XML 元素可以測試宏,然後有條件地設定任何宏的值,或控制建置的執行。 宏名稱和常值字串可以串連以產生建構,例如路徑和檔案名。 在命令列上,/property 選項會 設定或覆寫專案屬性。 命令列上無法參考專案。

MSBuild 系統可以有條件地在另一個目標之前或之後執行目標。 此外,系統可以根據目標取用的檔案是否比發出檔案更新,來建置目標。

如需 MSBuild 的詳細資訊,請參閱:

本節內容

詞彙 定義
逐步解說:使用 MSBuild 建立 C++ 專案 示範如何使用 MSBuild 建立 Visual Studio C++ 專案
如何:在 MSBuild 專案中使用建置事件 示範如何指定在組建的元件階段發生的動作:在建置開始之前;連結步驟開始之前;或建置結束後。
如何:將自訂建置步驟新增至 MSBuild 專案 示範如何將使用者定義的階段新增至建置順序。
如何:將自訂建置工具新增至 MSBuild 專案 示範如何將建置工具與特定檔案產生關聯。
如何:將自訂工具整合至專案屬性中 示範如何將自訂工具的選項新增至專案屬性。
如何:修改目標 Framework 和平台工具組 示範如何編譯多個架構或工具組的專案。

另請參閱

從命令列使用 MSVC 工具組