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>