Udostępnij za pośrednictwem


Porady: użycie zmiennych środowiskowych w kompilacji

Podczas tworzenia projektów, często konieczne jest ustawić opcje kompilacji przy użyciu informacji, która nie znajduje się w pliku projektu lub pliki, które obejmują projektu.Te informacje są zwykle przechowywane w zmiennych środowiskowych.

Odwoływanie się do zmiennych środowiskowych

Wszystkie zmienne środowiskowe są dostępne do Microsoft Build Engine (MSBuild) plik projektu jako właściwości.

[!UWAGA]

Jeśli plik projektu zawiera wyraźne definicji właściwość, która ma taką samą nazwę jak zmienna środowiskowa, właściwości w pliku projektu zastępuje wartości zmiennej środowiskowej.

Aby użyć zmiennej środowiskowej w projekcie programu MSBuild

  • Odniesienia w zmiennej środowiskowej, tak samo jak Zmienna zadeklarowana w pliku projektu.Na przykład poniższy kod odwołuje się do zmiennej środowiskowej BIN_PATH:

    <FinalOutput>$(BIN_PATH)\MyAssembly.dll</FinalOutput>

Można użyć Condition atrybutu, aby podać wartość domyślną właściwości, jeśli zmienna środowiskowa nie została ustawiona.

Aby podać wartość domyślną właściwości

  • Użyj Condition atrybut właściwości, aby ustawić wartość tylko wtedy, gdy właściwość ma wartość nie.Na przykład, następujący kod ustawia ToolsPath c:\tools tylko wtedy, gdy właściwość ToolsPath zmienna środowiskowa nie jest ustawiony:

    <ToolsPath Condition="'$(TOOLSPATH)' == ''">c:\tools</ToolsPath>

    [!UWAGA]

    Nazwy właściwości nie jest rozróżniana tak zarówno $(ToolsPath) i $(TOOLSPATH) odwołania tej samej zmiennej właściwości lub środowiska.

Przykład

Następujący plik projektu używa zmiennych środowiskowych, aby określić lokalizację katalogów.

<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>

Zobacz też

Zadania

Porady: kompilacja tych samych plików źródłowych przy użyciu różnych opcji

Koncepcje

Właściwości programu MSBuild

Inne zasoby

MSBuild