Como: Referência ao nome ou local do arquivo de projeto
Você pode usar o nome ou local do projeto no arquivo de projeto si sem a necessidade de criar sua própria propriedade.MSBuild Fornece propriedades reservadas que referenciam nome de arquivo de projeto e outras propriedades relacionadas para o projeto. Para obter mais informações sobre propriedades reservadas, consulte O MSBuild reservado propriedades.
Usando a propriedade MSBuildProjectName
MSBuild fornece algumas propriedades reservadas que você pode usar em seus arquivos de projeto sem definir cada eles time. Por exemplo, a propriedade reservada MSBuildProjectName Fornece uma referência ao nome de arquivo de projeto.
Para usar a propriedade MSBuildProjectName
Fazer referência à propriedade no arquivo de projeto com notação de () $, sistema autônomo faria com qualquer propriedade.Por exemplo:
<CSC Sources = "@(CSFile)" OutputAssembly = "$(MSBuildProjectName).exe"/> </CSC>
Uma vantagem de usar uma propriedade reservada é que quaisquer alterações ao nome de arquivo de projeto são incorporadas automaticamente.Na próxima vez que você compilação projeto, o arquivo de saída terá o novo nome com nenhuma ação necessária em sua parte.
Observação: |
---|
Propriedades reservadas não podem ser redefinidas no arquivo de projeto. |
Exemplo
O arquivo de projeto de exemplo a seguir referencia o nome do projeto sistema autônomo uma propriedade reservada para especificar o nome para a saída.
<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>