Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
MSBuild stellt reservierte Eigenschaften bereit, die auf den Projektdateinamen und andere Eigenschaften verweisen, die sich auf das Projekt beziehen. Sie können den Namen oder Speicherort des Projekts verwenden, ohne eine eigene Eigenschaft in der Projektdatei selbst zu erstellen. Weitere Informationen zu den MSBuild reservierten und bekannten Eigenschaften finden Sie unter MSBuild reservierte und bekannte Eigenschaften.
Voraussetzungen
Ein Visual Studio-Projekt, das mit MSBuild erstellt wird.
Reservierte Projekteigenschaften verwenden
MSBuild stellt einige reservierte Eigenschaften bereit, die Sie in Ihren Projektdateien verwenden können, ohne sie jedes Mal zu definieren. Die reservierte Eigenschaft MSBuildProjectName
stellt beispielsweise einen Verweis auf den Projektdateinamen bereit. Die reservierte Eigenschaft MSBuildProjectDirectory
stellt einen Verweis auf den Speicherort der Projektdatei bereit.
Ein Vorteil der Verwendung der reservierten Eigenschaft besteht darin, dass alle Änderungen am Projektdateinamen automatisch integriert werden. Beim nächsten Erstellen des Projekts werden die Ausgabedatei und andere Dateinamen, die die Eigenschaft verwenden, automatisch auf den neuen Namen aktualisiert.
Wenn Sie die Projekteigenschaften verwenden möchten, verweisen Sie genauso wie jede Eigenschaft auf die Eigenschaft in der Projektdatei mit der $()
Schreibweise. Beispiel:
<CSC Sources = "@(CSFile)"
OutputAssembly = "$(MSBuildProjectName).exe"/>
</CSC>
Informationen zur Verwendung von Sonderzeichen in Datei- oder Projektverweise finden Sie unter MSBuild-Sonderzeichen.
Hinweis
Reservierte Eigenschaften können in der Projektdatei nicht neu definiert werden.
Verwenden von MSBuildProjectName zum Angeben des Ausgabedateinamens
Die folgende Beispielprojektdatei verweist auf den Projektnamen als reservierte Eigenschaft, um den Namen für die Ausgabe anzugeben.
<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>
Verwenden von MSBuildProjectDirectory zum Erstellen des vollständigen Pfads zu einer Datei
Die folgende Beispielprojektdatei verwendet die MSBuildProjectDirectory
reservierte Eigenschaft, um den vollständigen Pfad zu einer Datei im Projektdateispeicherort zu erstellen. Im Beispiel wird die Syntax der Eigenschaftsfunktion verwendet, um die statische .NET Framework-Methode System.IO.Path.Combineaufzurufen.
<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>