Comment : référencer le nom ou l'emplacement du fichier projet

Mise à jour : novembre 2007

Vous pouvez utiliser le nom ou l'emplacement du projet dans le fichier projet lui-même sans devoir créer votre propre propriété. MSBuild fournit des propriétés réservées qui référencent le nom du fichier projet et d'autres propriétés en rapport avec le projet. Pour plus d'informations sur les propriétés réservées, consultez MSBuild, propriétés réservées.

Utilisation de la propriété MSBuildProjectName

MSBuild fournit quelques propriétés réservées que vous pouvez utiliser dans vos fichiers projet sans les définir chaque fois. Par exemple, la propriété réservée MSBuildProjectName fournit une référence au nom de fichier projet.

Pour utiliser la Propriété MSBuildProjectName

  • Référencez la propriété dans le fichier projet avec la notation $(), comme vous le feriez avec toute autre propriété. Par exemple :

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

Un avantage de l'utilisation d'une propriété réservée est que les modifications apportées au nom de fichier projet sont intégrées automatiquement. La prochaine fois que vous génèrerez le projet, le fichier de sortie portera le nouveau nom, sans nécessiter la moindre action de votre part.

Remarque :

Les propriétés réservées ne peuvent pas être redéfinies dans le fichier projet.

Exemple

L'exemple de fichier projet suivant référence le nom du projet comme propriété réservée pour spécifier le nom de la sortie.

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

Voir aussi

Concepts

MSBuild

Référence

MSBuild, propriétés réservées