Sdílet prostřednictvím


Odkazování na název nebo umístění souboru projektu

Můžete použít název nebo umístění projektu v samotném souboru projektu, aniž byste museli vytvořit vlastní vlastnost. NÁSTROJ MSBuild poskytuje rezervované vlastnosti, které odkazují na název souboru projektu a další vlastnosti související s projektem. Další informace o rezervovaných vlastnostech naleznete v tématu MSBuild rezervované a dobře známé vlastnosti.

Použití vlastností projektu

NÁSTROJ MSBuild poskytuje některé rezervované vlastnosti, které můžete použít v souborech projektu, aniž byste je museli pokaždé definovat. Například rezervovaná vlastnost MSBuildProjectName poskytuje odkaz na název souboru projektu. Rezervovaná vlastnost MSBuildProjectDirectory poskytuje odkaz na umístění souboru projektu.

Použití vlastností projektu

  • Odkazovat na vlastnost v souboru projektu pomocí zápisu $(), stejně jako u jakékoli vlastnosti. Příklad:

    <CSC Sources = "@(CSFile)"
        OutputAssembly = "$(MSBuildProjectName).exe"/>
    </CSC>
    

    Výhodou použití rezervované vlastnosti je, že všechny změny názvu souboru projektu se začlení automaticky. Při příštím sestavení projektu bude mít výstupní soubor nový název bez nutnosti další akce na vaší straně.

    Další informace o použití speciálních znaků v odkazech na soubor nebo projekt naleznete ve speciálních znaky nástroje MSBuild.

Poznámka:

Rezervované vlastnosti nelze znovu definovat v souboru projektu.

Příklad 1

Následující příklad souboru projektu odkazuje na název projektu jako rezervovanou vlastnost určit název výstupu.

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"
    DefaultTargets = "Compile">

    <!-- Specify the inputs -->
    <ItemGroup>
        <CSFile Include = "consolehwcs1.cs"/>
     </ItemGroup>
    <Target Name = "Compile">
        <!-- Run the Visual C# compilation using
        input files of type CSFile -->
        <CSC Sources = "@(CSFile)"
            OutputAssembly = "$(MSBuildProjectName).exe" >
            <!-- Set the OutputAssembly attribute of the CSC task
            to the name of the project -->
            <Output
                TaskParameter = "OutputAssembly"
                ItemName = "EXEFile" />
        </CSC>
        <!-- Log the file name of the output file -->
        <Message Text="The output file is @(EXEFile)"/>
    </Target>
</Project>

Příklad 2

Následující ukázkový soubor projektu používá rezervovanou MSBuildProjectDirectory vlastnost k vytvoření úplné cesty k souboru v umístění souboru projektu.

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

    <!-- Build the path to a file in the root of the project -->
    <PropertyGroup>
        <NewFilePath>$([System.IO.Path]::Combine($(MSBuildProjectDirectory), `BuildInfo.txt`))</NewFilePath>
    </PropertyGroup>
</Project>

Příklad používá syntaxi funkce Property k volání statické metody System.IO.Path.Combine.NET Framework .