Compartir a través de


Cómo: Hacer referencia al nombre o ubicación del archivo de proyecto

Actualización: noviembre 2007

Se puede utilizar el nombre o la ubicación del proyecto en el archivo de proyecto mismo sin necesidad de crear una propiedad. MSBuild ofrece propiedades reservadas que hacen referencia al nombre del archivo de proyecto y a otras propiedades relacionadas con el proyecto. Para obtener más información sobre propiedades reservadas, vea Propiedades reservadas de MSBuild.

Utilizar la propiedad MSBuildProjectName

MSBuild ofrece unas propiedades reservadas que se pueden utilizar en los archivos de proyecto sin tener que definirlas cada vez. Por ejemplo, la propiedad reservada MSBuildProjectName proporciona una referencia al nombre del archivo de proyecto.

Para utilizar la propiedad MSBuildProjectName

  • Haga referencia a la propiedad en el archivo de proyecto con la notación $(), como lo haría con cualquier propiedad. Por ejemplo:

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

Una ventaja de utilizar una propiedad reservada es que cualquier cambio que se realice en el nombre del archivo de proyecto se incorpora automáticamente. La próxima vez que se genere el proyecto, el archivo de resultados tendrá el nuevo nombre sin necesidad de intervenir.

Nota:

Las propiedades reservadas no se pueden volver a definir en el archivo de proyecto.

Ejemplo

En el ejemplo siguiente, el archivo de proyecto hace referencia al nombre del proyecto como una propiedad reservada que especifica el nombre para el resultado.

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

Vea también

Conceptos

MSBuild

Referencia

Propiedades reservadas de MSBuild