如何:在組建中使用環境變數
建置專案時,通常需要使用專案檔或構成此專案之檔案以外的資訊來建置專案選項。 這項資訊通常儲存在環境變數中。
參考環境變數
在 Microsoft Build Engine (MSBuild) 專案檔中,所有的環境變數都可當做屬性使用。
注意事項 |
---|
如果專案檔中明確定義的屬性與環境變數具有相同名稱,則專案檔中的屬性會覆寫環境變數的值。 |
若要在 MSBuild 專案中使用環境變數
參考環境變數的方式與參考專案中宣告的變數完全相同。 例如,下列程式碼會參考 BIN_PATH 環境變數:
<FinalOutput>$(BIN_PATH)\MyAssembly.dll</FinalOutput>
如果沒有設定環境變數,您可以使用 Condition 屬性,提供屬性的預設值。
若要提供屬性的預設值
只有在屬性 (Property) 沒有值時,才能使用 Condition 屬性 (Attribute) 來設定值。 例如,只有在未設定 ToolsPath 環境變數時,下列程式碼才會將 ToolsPath 屬性設為 c:\tools:
<ToolsPath Condition="'$(TOOLSPATH)' == ''">c:\tools</ToolsPath>
注意事項 屬性名稱不區分大小寫,因此 $(ToolsPath) 和 $(TOOLSPATH) 都參考相同的屬性或環境變數。
範例
下列專案檔會使用環境變數指定目錄的位置:
<Project DefaultTargets="FakeBuild">
<PropertyGroup>
<FinalOutput>$(BIN_PATH)\myassembly.dll</FinalOutput>
<ToolsPath Condition=" '$(ToolsPath)' == '' ">
C:\Tools
</ToolsPath>
</PropertyGroup>
<Target Name="FakeBuild">
<Message Text="Building $(FinalOutput) using the tools at $(ToolsPath)..."/>
</Target>
</Project>