Condividi tramite


Procedura: fare riferimento al nome o al percorso del file di progetto

È possibile utilizzare il nome o il percorso del progetto nel file di progetto stesso senza dovere creare una proprietà. In MSBuild sono disponibili proprietà riservate che fanno riferimento al nome del file di progetto e altre proprietà correlate al progetto. Per ulteriori informazioni sulle proprietà riservate, vedere Proprietà riservate e note MSBuild.

Utilizzo della proprietà MSBuildProjectName

MSBuild fornisce alcune proprietà riservate che possono essere utilizzate nei file di progetto senza doverle definire ogni volta. La proprietà riservata MSBuildProjectName, ad esempio, contiene un riferimento al nome del file di progetto.

Per utilizzare la proprietà MSBuildProjectName

  • Fare riferimento alla proprietà nel file di progetto utilizzando la notazione $(), come per qualsiasi altra proprietà. Di seguito è riportato un esempio:

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

Uno dei vantaggi offerti dall'utilizzo di una proprietà riservata consiste nel fatto che qualsiasi modifica apportata al nome del file di progetto viene incorporata automaticamente. Alla successiva compilazione del progetto, il file di output avrà il nuovo nome senza ulteriori interventi da parte dell'utente.

Nota

Le proprietà riservate non possono essere ridefinite nel file di progetto.

Esempio

Il file di progetto di esempio riportato di seguito fa riferimento al nome del progetto come proprietà riservata per specificare il nome per l'output.

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

Vedere anche

Riferimenti

Proprietà riservate e note MSBuild

Altre risorse

MSBuild