Compartilhar via


Itens comuns de projeto do MSBuild

No MSBuild, um item é uma referência nomeada a um ou mais arquivos. Os itens contêm metadados, como nomes de arquivo, caminhos e números de versão. Todos os tipos de projeto no Visual Studio têm vários itens em comum. Esses itens são definidos no arquivo Microsoft.Build.CommonTypes.xsd.

Este artigo lista todos os itens comuns do projeto.

Reference

Representa uma referência de assembly (gerenciado) no projeto.

Nome dos metadados do item Descrição
HintPath Cadeia de caracteres opcional. Caminho relativo ou absoluto do assembly.
Nome Cadeia de caracteres opcional. O nome de exibição do assembly, por exemplo, "System.Windows.Forms".
FusionName Cadeia de caracteres opcional. Especifica o nome de fusão simples ou forte para o item.

Quando esse atributo está presente, ele pode economizar tempo porque o arquivo de assembly não precisa ser aberto para obter o nome de fusão.
SpecificVersion Booliano opcional. Especifica se apenas a versão no nome de fusão deve ser referenciada.
Aliases Cadeia de caracteres opcional. Qualquer aliases para a referência.
Privado Booliano opcional. Especifica se a referência deve ser copiada para a pasta de saída. Esse atributo corresponde à propriedade Copy Local da referência que está no IDE do Visual Studio.

COMReference

Representa uma referência de componente COM (não gerenciado) no projeto. Este item se aplica somente a projetos do .NET.

Nome dos metadados do item Descrição
Nome Cadeia de caracteres opcional. O nome de exibição do componente.
Guid Cadeia de caracteres necessária. Um GUID para o componente, no formulário {12345678-1234-1234-1234-123456781234}.
VersionMajor Cadeia de caracteres necessária. A parte principal do número de versão do componente. Por exemplo, "5" se o número de versão completo for "5.46".
VersionMinor Cadeia de caracteres necessária. A parte secundária do número de versão do componente. Por exemplo, "46" se o número de versão completo for "5.46".
EmbedInteropTypes Booliano opcional. Se for true, insira os tipos de interoperabilidade dessa referência diretamente em seu assembly em vez de gerar uma DLL de interoperabilidade.
Lcid Cadeia de caracteres opcional. A LocaleID para o componente.
WrapperTool Cadeia de caracteres opcional. O nome da ferramenta wrapper usada no componente. Os valores são:

1. primário
2. tlbimp
3. primaryortlbimp
4. aximp
Isolado Booliano opcional. Especifica se o componente é um componente sem reg.

COMFileReference

Representa uma lista de bibliotecas de tipos que são passadas para o parâmetro TypeLibFiles do destino ResolveComReference. Este item se aplica somente a projetos do .NET.

Nome dos metadados do item Descrição
EmbedInteropTypes Booliano opcional. Se for true, insira os tipos de interoperabilidade dessa referência diretamente em seu assembly em vez de gerar uma DLL de interoperabilidade.
WrapperTool Cadeia de caracteres opcional. O nome da ferramenta wrapper usada no componente. Os valores são:

1. primário
2. tlbimp
3. primaryortlbimp
4. aximp

NativeReference

Representa um arquivo de manifesto nativo ou uma referência a esse arquivo.

Nome dos metadados do item Descrição
Nome Cadeia de caracteres necessária. O nome base do arquivo de manifesto.
HintPath Cadeia de caracteres necessária. O caminho relativo do arquivo de manifesto.

ProjectReference

Representa uma referência a outro projeto. ProjectReference itens são transformados em itens Reference pelo destino ResolveProjectReferences, portanto, todos os metadados válidos em uma referência podem ser válidos em ProjectReference, se o processo de transformação não o substituir.

Nome dos metadados do item Descrição
Nome Cadeia de caracteres opcional. O nome de exibição da referência.
GlobalPropertiesToRemove string[]opcional. Nomes de propriedades a serem removidas ao criar o projeto referenciado, por exemplo, RuntimeIdentifier;PackOnBuild. O padrão é vazio.
Projeto Cadeia de caracteres opcional. Um GUID para a referência, no formulário {12345678-1234-1234-1234-123456781234}.
OutputItemType Cadeia de caracteres opcional. Tipo de item para o qual emitir saídas de destino. O padrão está em branco. Se os metadados de referência estiverem definidos como "true" (padrão), as saídas de destino se tornarão referências para o compilador.
ReferenceOutputAssembly Booliano opcional. Se definido como false, não inclui a saída do projeto referenciado como um de Referência deste projeto, mas ainda garante que o outro projeto seja compilado antes deste. O padrão é true.
Privado Booliano opcional. Especifica se a referência deve ser copiada para a pasta de saída. Esse atributo corresponde à propriedade Copy Local da referência que está no IDE do Visual Studio.
SetConfiguration Cadeia de caracteres opcional. Define a propriedade global Configuration para o projeto referenciado, por exemplo, Configuration=Release.
SetPlatform Cadeia de caracteres opcional. Define a propriedade global Platform para o projeto referenciado, por exemplo, Platform=AnyCPU.
SetTargetFramework Cadeia de caracteres opcional. Define a propriedade global TargetFramework para o projeto referenciado, por exemplo, TargetFramework=netstandard2.0.
SkipGetTargetFrameworkProperties Booliano opcional. Se true, criará o projeto referenciado sem negociar o valor de TargetFramework mais compatível. O padrão é false.
Alvos string[]opcional. Lista separada de ponto-e-vírgula de destinos nos projetos referenciados que devem ser criados. O padrão é o valor de $(ProjectReferenceBuildTargets), que usa como padrão vazio, indicando os destinos padrão. Ao criar no Visual Studio (em vez de MSBuild.exe ou dotnet build), especificar isso não impede que o Visual Studio crie os destinos padrão do projeto referenciado.

Nota

Há uma diferença entre como as referências de projeto funcionam entre o .NET Framework e o .NET Core (incluindo o .NET 5 e posterior). Em projetos do .NET Framework, as referências de projeto não são transitivas. Ou seja, se o Project1 fizer referência ao Project2 e o Project2 fizer referência ao Project3, você não poderá codificar no Project3 do Project1. No entanto, no .NET Core (incluindo o .NET 5 e posterior), as referências de projeto são transitivas. Você pode codificar no Project3 no Project1.

Compilar

Representa os arquivos de origem para o compilador.

Nome dos metadados do item Descrição
Dependentes Cadeia de caracteres opcional. Especifica o arquivo do qual esse arquivo depende para compilar corretamente.
AutoGen Booliano opcional. Indica se o arquivo foi gerado para o projeto pelo IDE (ambiente de desenvolvimento integrado) do Visual Studio.
Link Cadeia de caracteres opcional. O caminho notacional a ser exibido quando o arquivo está fisicamente localizado fora da influência do arquivo de projeto.
Visível Booliano opcional. Indica se o arquivo deve ser exibido em do Gerenciador de Soluções no Visual Studio.
CopyToOutputDirectory Cadeia de caracteres opcional. Determina se o arquivo deve ser copiado para o diretório de saída. Os valores são:

1. Nunca
2. Sempre
3. PreserveNewest
4. IfDifferent

EmbeddedResource

Representa os recursos a serem inseridos no assembly gerado.

Nome dos metadados do item Descrição
Cultura Cadeia de caracteres opcional. Especifica a cultura do arquivo de recurso. Se especificado, o processo de build não infere automaticamente a cultura com base na extensão de arquivo (que depende das culturas disponíveis para .NET/SO no computador que hospeda o build). A configuração de metadados Culture={culture identifier} ou WithCulture=false é altamente recomendada.
WithCulture Bool opcional. Especifica que o arquivo é neutro em cultura e a detecção de cultura AssignCulture tarefa deve ser ignorada. A configuração de metadados Culture={culture identifier} ou WithCulture=false é altamente recomendada.
Dependentes Cadeia de caracteres opcional. Especifica o arquivo do qual esse arquivo depende para compilar corretamente
Gerador Cadeia de caracteres opcional. O nome de qualquer gerador de arquivo executado neste item.
LastGenOutput Cadeia de caracteres opcional. O nome do arquivo que foi criado por qualquer gerador de arquivos executado neste item.
CustomToolNamespace Cadeia de caracteres opcional. O namespace no qual qualquer gerador de arquivos executado neste item deve criar código.
Link Cadeia de caracteres opcional. O caminho notacional será exibido se o arquivo estiver fisicamente localizado fora da influência do projeto.
Visível Booliano opcional. Indica se o arquivo deve ser exibido em do Gerenciador de Soluções no Visual Studio.
CopyToOutputDirectory Cadeia de caracteres opcional. Determina se o arquivo deve ser copiado para o diretório de saída. Os valores são:

1. Nunca
2. Sempre
3. PreserveNewest
4. IfDifferent
LogicalName Cadeia de caracteres necessária. O nome lógico do recurso inserido.

Conteúdo

Representa arquivos que não são compilados no projeto, mas podem ser inseridos ou publicados junto com ele.

Nome dos metadados do item Descrição
Dependentes Cadeia de caracteres opcional. Especifica o arquivo do qual esse arquivo depende para compilar corretamente.
Gerador Cadeia de caracteres opcional. O nome de qualquer gerador de arquivo executado neste item.
LastGenOutput Cadeia de caracteres opcional. O nome do arquivo que foi criado por qualquer gerador de arquivos que foi executado neste item.
CustomToolNamespace Cadeia de caracteres opcional. O namespace no qual qualquer gerador de arquivos executado neste item deve criar código.
Link Cadeia de caracteres opcional. O caminho notacional a ser exibido se o arquivo estiver fisicamente localizado fora da influência do projeto.
PublishState Cadeia de caracteres necessária. O estado de publicação do conteúdo:

-Inadimplência
-Incluso
-Excluídos
-Datafile
-Pré-requisito
IsAssembly Booliano opcional. Especifica se o arquivo é um assembly.
Visível Booliano opcional. Indica se o arquivo deve ser exibido em do Gerenciador de Soluções no Visual Studio.
CopyToOutputDirectory Cadeia de caracteres opcional. Determina se o arquivo deve ser copiado para o diretório de saída. Os valores são:

1. Nunca
2. Sempre
3. PreserveNewest
4. IfDifferent
TargetPath Cadeia de caracteres opcional. O caminho de saída (relativo ao diretório de saída específico da configuração e/ou da plataforma) de um item, incluindo o nome do arquivo. Isso respeita os metadados Link, se fornecidos. Se o TargetPath não for fornecido, ele será computado durante o processo de build. Consulte AssignTargetPath.

Nenhum

Representa arquivos que não devem ter nenhuma função no processo de build.

Nome dos metadados do item Descrição
Dependentes Cadeia de caracteres opcional. Especifica o arquivo do qual esse arquivo depende para compilar corretamente.
Gerador Cadeia de caracteres opcional. O nome de qualquer gerador de arquivo executado neste item.
LastGenOutput Cadeia de caracteres opcional. O nome do arquivo que foi criado por qualquer gerador de arquivos executado neste item.
CustomToolNamespace Cadeia de caracteres opcional. O namespace no qual qualquer gerador de arquivos executado neste item deve criar código.
Link Cadeia de caracteres opcional. O caminho notacional a ser exibido se o arquivo estiver fisicamente localizado fora da influência do projeto.
Visível Booliano opcional. Indica se o arquivo deve ser exibido em do Gerenciador de Soluções no Visual Studio.
CopyToOutputDirectory Cadeia de caracteres opcional. Determina se o arquivo deve ser copiado para o diretório de saída. Os valores são:

1. Nunca
2. Sempre
3. PreserveNewest
4. IfDifferent

AssemblyMetadata

Representa os atributos de assembly a serem gerados como [AssemblyMetadata(key, value)].

Nome dos metadados do item Descrição
Incluir Torna-se o primeiro parâmetro (a chave) no construtor de atributo AssemblyMetadataAttribute.
Valor Cadeia de caracteres necessária. Torna-se o segundo parâmetro (o valor) no construtor de atributo AssemblyMetadataAttribute.

Nota

Este item se aplica a projetos usando o SDK para .NET 5 (e .NET Core) e versões posteriores.

InternalsVisibleTo

Especifica os assemblies a serem emitidos como atributos de assembly [InternalsVisibleTo(..)].

Nome dos metadados do item Descrição
Incluir O nome do assembly.
Chave Cadeia de caracteres opcional. A chave pública do assembly.

Nota

Este item se aplica a projetos usando o SDK para .NET 5 (e .NET Core) e versões posteriores.

BaseApplicationManifest

Representa o manifesto do aplicativo base para o build e contém informações de segurança de implantação do ClickOnce.

CodeAnalysisImport

Representa o projeto FxCop a ser importado.

Importação

Representa assemblies cujos namespaces devem ser importados pelo compilador do Visual Basic.

Pasta

Esse elemento é usado apenas pelo Visual Studio como um espaço reservado para uma pasta vazia. Quando a pasta é preenchida, ela é substituída por outro elemento.

Consulte também