如何:將自訂建置步驟新增至 MSBuild 專案
自定義建置步驟是組建中的用戶定義步驟。 自定義建置步驟的行為就像任何其他 命令工具 步驟,例如標準編譯或連結工具步驟。
在項目檔中指定自定義建置步驟(.vcxproj)。 此步驟可以指定要執行的命令行、任何其他輸入或輸出檔案,以及要顯示的訊息。 如果 MSBuild 判斷您的輸出檔案與輸入檔案無關,則會顯示訊息並執行命令。
若要指定建置目標序列中的自定義建置步驟位置,請在項目檔中使用一或兩 CustomBuildAfterTargets
個 和 CustomBuildBeforeTargets
XML 元素。 例如,您可以指定自定義建置步驟會在連結工具目標之後和指令清單工具目標之前執行。 實際可用的目標集取決於您的特定組建。
CustomBuildBeforeTargets
指定要在特定目標執行之前執行自定義建置步驟的專案、CustomBuildAfterTargets
在特定目標執行之後執行步驟的專案,或兩個元素執行兩個相鄰目標之間的步驟。 如果未指定這兩個專案,您的自定義建置工具就會在其預設位置執行,也就是鏈接目標之後。
自定義建置步驟和自定義建置工具會共用 和 CustomBuildAfterTargets
XML 元素中指定的CustomBuildBeforeTargets
資訊。 因此,請在項目檔中只指定這些目標一次。
定義自定義建置步驟所執行的內容
將屬性群組新增至項目檔。 在此屬性群組中,指定命令、其輸入和輸出,以及訊息,如下列範例所示。 此範例會從您在逐步解說:使用 MSBuild 建立C++專案中所 建立main.cpp檔案建立.cab檔案。
<ItemDefinitionGroup> <CustomBuildStep> <Command>makecab.exe $(ProjectDir)main.cpp $(TargetName).cab</Command> <Outputs>$(TargetName).cab</Outputs> <Inputs>$(ProjectDir)main.cpp</Inputs> </CustomBuildStep> </ItemDefinitionGroup>
若要定義建置中自定義建置步驟的執行位置
將下列屬性群組新增至項目檔。 您可以指定這兩個目標,或者如果您只想要在特定目標之前或之後執行自定義步驟,則可以省略一個目標。 這個範例會 指示 MSBuild 在編譯步驟之後,但在連結步驟之前執行自定義步驟。
<PropertyGroup> <CustomBuildAfterTargets>ClCompile</CustomBuildAfterTargets> <CustomBuildBeforeTargets>Link</CustomBuildBeforeTargets> </PropertyGroup>
另請參閱
逐步解說:使用 MSBuild 來建立 C++ 專案
如何:在 MSBuild 專案中使用建置事件
如何:將自訂建置工具新增至 MSBuild 專案