Elemento Project (MSBuild)

Elemento raiz necessário de um arquivo de projeto do MSBuild.

Syntax

<Project InitialTargets="TargetA;TargetB"
         DefaultTargets="TargetC;TargetD"
         TreatAsLocalProperty="PropertyA;PropertyB"
         ToolsVersion="<version number>"
         Sdk="name[/version]"
         xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <Sdk... />
    <Choose>... </Choose>
    <PropertyGroup>... </PropertyGroup>
    <ItemGroup>... </ItemGroup>
    <Target>... </Target>
    <UsingTask.../>
    <ProjectExtensions>... </ProjectExtensions>
    <Import... />
</Project>

Atributos e elementos

As seções a seguir descrevem atributos, elementos filho e elementos pai.

Atributos

Atributo Descrição
DefaultTargets Atributo opcional.

Os destinos padrão serão o ponto de entrada do build se nenhum destino for especificado. Vários destinos são separados por ponto e vírgula (;).

Se nenhum destino padrão for especificado no atributo DefaultTargets ou na linha de comando do MSBuild, o mecanismo executa o primeiro destino no arquivo de projeto após os elementos Import serem avaliados.
InitialTargets Atributo opcional.

Os destinos iniciais serão executados antes dos destinos especificados no atributo DefaultTargets ou na linha de comando. Vários destinos são separados por ponto e vírgula (;). Se vários arquivos importados definirem InitialTargets, todos os destinos mencionados serão executados, na ordem em que as importações forem encontradas.
Sdk Atributo opcional.

O nome e a versão opcional do SDK a ser usado para criar instruções Import implícitas adicionadas ao arquivo .proj. Se nenhuma versão for especificada, o MSBuild tentará resolver uma versão padrão. Por exemplo, <Project Sdk="Microsoft.NET.Sdk" /> ou <Project Sdk="My.Custom.Sdk/1.0.0" />.
ToolsVersion Atributo opcional.

A versão do Conjunto de Ferramentas MSBuild usada para determinar os valores para $(MSBuildBinPath) e $(MSBuildToolsPath).
TreatAsLocalProperty Atributo opcional.

Nomes de propriedade não serão considerados globais. Esse atributo impede que as propriedades específicas de linha de comando substituam valores de propriedade definidos em um arquivo de projeto ou destinos e todas as importações subsequentes. Várias propriedades são separadas por ponto e vírgula (;).

Normalmente, propriedades globais substituem os valores de propriedade que são definidos no arquivo de projeto ou destinos. Se a propriedade está listada no valor TreatAsLocalProperty, o valor da propriedade global não substitui os valores de propriedade definidos no arquivo e as importações subsequentes. Para saber mais, confira Como compilar os mesmos arquivos de origem com opções diferentes. Observação: defina as propriedades globais em um prompt de comando usando a opção -property (ou -p). Você também pode definir ou modificar as propriedades globais para projetos filho em um build de vários projetos usando o atributo Properties da tarefa MSBuild. Para saber mais, confira Tarefa do MSBuild.
xmlns Atributo opcional.

Quando especificado, o atributo xmlns deve ter o valor http://schemas.microsoft.com/developer/msbuild/2003.

Elementos filho

Elemento Descrição
Choose Elemento opcional.

Avalia a elementos filho para selecionar um conjunto de elementos ItemGroup e/ou PropertyGroup a ser avaliado.
Importaçãoação Elemento opcional.

Permite que um arquivo de projeto importe outro arquivo de projeto. Pode ser que não haja nenhum ou mais de um elemento Import em um projeto.
ImportGroup Elemento opcional.

Contém uma coleção de elementos Import que são agrupados em uma condição opcional.
ItemGroup Elemento opcional.

Um elemento de agrupamento para itens individuais. Itens são especificados usando o elemento Item. Pode ser que não haja nenhum ou mais de um elemento ItemGroup em um projeto.
ItemDefinitionGroup Elemento opcional.

Permite definir um conjunto de Definições de Item, que são valores de metadados aplicados por padrão a todos os itens do projeto. ItemDefinitionGroup substitui a necessidade de usar as tarefas CreateItem e CreateProperty.
ProjectExtensions Elemento opcional.

Fornece uma maneira de persistir informações não são do MSBuild em um arquivo de projeto do MSBuild. Pode ser que não haja nenhum ou um elemento ProjectExtensions em um projeto.
PropertyGroup Elemento opcional.

Um elemento de agrupamento para propriedades individuais. Propriedades são especificadas usando o elemento Property. Pode ser que não haja nenhum ou mais de um elemento PropertyGroup em um projeto.
Sdk Elemento opcional.

Referencia um SDK de projeto do MSBuild. Esse elemento pode ser usado como uma alternativa para o atributo Sdk.
Target (destino) Elemento opcional.

Contém um conjunto de tarefas para o MSBuild executar em sequência. Tarefas são especificadas usando o elemento Task. Pode ser que não haja nenhum ou mais de um elemento Target em um projeto.
UsingTask Elemento opcional.

Fornece uma maneira para registrar tarefas no MSBuild. Pode ser que não haja nenhum ou mais de um elemento UsingTask em um projeto.

Elementos pai

Nenhum.

Confira também