Gewusst wie: Verweisen auf den Namen oder Speicherort der Projektdatei

Sie können den Namen oder die Position des Projekts in der Projektdatei selbst verwenden, ohne eine eigene Eigenschaft erstellen zu müssen. MSBuild stellt reservierte Eigenschaften bereit, die auf den Projektdateinamen und andere auf das Projekt bezogene Eigenschaften verweisen. Weitere Informationen zu reservierten Eigenschaften finden Sie unter Reservierte Eigenschaften für MSBuild.

Verwenden der MSBuildProjectName-Eigenschaft

MSBuild stellt einige reservierte Eigenschaften bereit, die Sie in den Projektdateien verwenden können, ohne sie jedes Mal neu zu definieren. Die reservierte Eigenschaft MSBuildProjectName enthält beispielsweise einen Verweis auf den Projektdateinamen.

So verwenden Sie die MSBuildProjectName-Eigenschaft

  • Verweisen Sie mit der $()-Notation auf die Eigenschaft in der Projektdatei, so als würden Sie auf eine beliebige andere Eigenschaft verweisen. Beispiel:

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

Ein Vorteil reservierter Eigenschaften liegt darin, dass Änderungen am Projektdateinamen automatisch übernommen werden. Wenn Sie das Projekt das nächste Mal erstellen, weist die Ausgabedatei den neuen Namen auf, ohne dass ein Eingreifen von Ihrer Seite erforderlich wäre.

Tipp

Reservierte Eigenschaften können in der Projektdatei nicht neu definiert werden.

Beispiel

Durch die folgende Beispielprojektdatei wird auf den Projektnamen als reservierte Eigenschaft verwiesen, um den Namen für die Ausgabe anzugeben.

<Project xmlns="http://scheams.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>

Siehe auch

Referenz

Reservierte Eigenschaften für MSBuild

Weitere Ressourcen

MSBuild