MSBuild 屬性

更新:2007 年 11 月

屬性是成對的索引鍵/值組,可以用來設定組建 (Build)。屬性的用途包括將值傳遞給工作、在條件中進行評估,以及儲存整個專案檔中所要參考的值。

在專案檔中定義和參考屬性

宣告屬性的方式,是建立一個和屬性同名的項目,做為 PropertyGroup 項目的子項目。例如,下列 XML 會以 Build 的值建立名為 BuildDir 的屬性。

<PropertyGroup>
    <BuildDir>Build</BuildDir>
</PropertyGroup>

您可以使用 $(PropertyName) 語法,在整個專案檔中參考屬性。例如,使用 $(BuildDir) 可以參考前述範例中的屬性。

從命令列設定屬性

MSBuild 允許您使用 /property 或 /p 命令列參數,從命令列設定屬性。從命令列接收到的屬性值,會覆寫專案檔中設定的屬性值以及繼承自環境變數的屬性值。

下列範例會將 Configuration 屬性設定為 DEBUG。

MSBuild.exe MyProj.proj /p:Configuration=DEBUG

保留的屬性

MSBuild 保留了幾個屬性名稱,用來儲存專案檔和 MSBuild 二進位碼檔案的相關資訊。這些屬性和其他任何屬性一樣,都使用 $ 標記法來參考。如需詳細資訊,請參閱 HOW TO:參考專案檔的名稱或位置MSBuild 保留屬性

環境變數

在專案檔中參考環境變數的方式,和參考保留的屬性一樣。例如,若要在專案檔中使用 PATH 環境變數,請使用 $(Path)。如果專案含有與環境變數同名的屬性定義,則專案的屬性會覆寫環境變數的值。如需詳細資訊,請參閱 HOW TO:在組建中使用環境變數

將 XML 儲存至屬性中

屬性可以含有任意 XML,這有助於將值傳遞給工作,或是顯示記錄資訊。在下列程式碼範例中,示範了 ConfigTemplate 屬性,其值含有 XML 和其他屬性參考。MSBuild 會以個別的屬性值取代屬性參考。屬性值的解譯是由上到下,因此在這個範例中必須預先定義 $(MySupportedVersion)、$(MyRequiredVersion) 和 $(MySafeMode)。

<PropertyGroup>
    <ConfigTemplate>
        <Configuration>
            <Startup>
                <SupportedRuntime
                    ImageVersion="$(MySupportedVersion)" 
                    Version="$(MySupportedVersion)"/>
                <RequiredRuntime
                    ImageVersion="$(MyRequiredVersion)
                    Version="$(MyRequiredVersion)" 
                    SafeMode="$(MySafeMode)"/>
            </Startup>
        </Configuration>
    </ConfigTemplate>
</PropertyGroup>

請參閱

工作

HOW TO:在組建中使用環境變數

HOW TO:參考專案檔的名稱或位置

概念

MSBuild

MSBuild 概觀

參考

MSBuild 保留屬性

Property 項目 (MSBuild)