Itens de projeto comuns do MSBuild
No MSBuild, um item é uma referência nomeada a um ou mais arquivos. Itens contêm metadados, como nomes de arquivos, 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 de metadados de item | Descrição |
---|---|
HintPath | Cadeia de caracteres opcional. O 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 da fusão. |
SpecificVersion | Booliano opcional. Especifica se apenas a versão no nome de fusão deve ser referenciada. |
Aliases | Cadeia de caracteres opcional. Quaisquer aliases da referência. |
Privados | Booliano opcional. Especifica se a referência deve ser copiada para a pasta de saída. Esse atributo corresponde à propriedade Copiar Local da referência que está no Visual Studio IDE. |
COMReference
Representa uma referência a um componente COM (não gerenciado) no projeto. Este item se aplica somente a projetos .NET.
Nome de metadados de item | Descrição |
---|---|
Nome | Cadeia de caracteres opcional. O nome de exibição do componente. |
Guid | Cadeia de caracteres obrigatória. Um GUID para o componente, no formato {12345678-1234-1234-1234-123456781234}. |
VersionMajor | Cadeia de caracteres obrigató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 obrigató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. O LocaleID do componente. |
WrapperTool | Cadeia de caracteres opcional. O nome da ferramenta wrapper usada no componente. Os valores são: 1. principal 2. tlbimp 3. primaryortlbimp 4. aximp |
Isolado | Booliano opcional. Especifica se o componente é um componente sem registro. |
COMFileReference
Representa uma lista de bibliotecas de tipos que alimentam o parâmetro TypeLibFiles
do destino ResolveComReference. Este item se aplica somente a projetos .NET.
Nome de metadados de item | Descrição |
---|---|
WrapperTool | Cadeia de caracteres opcional. O nome da ferramenta wrapper usada no componente. Os valores são: 1. principal 2. tlbimp 3. primaryortlbimp 4. aximp |
NativeReference
Representa um arquivo de manifesto nativo ou uma referência a esse arquivo.
Nome de metadados de item | Descrição |
---|---|
Nome | Cadeia de caracteres obrigatória. O nome de base do arquivo de manifesto. |
HintPath | Cadeia de caracteres obrigatória. O caminho relativo do arquivo de manifesto. |
ProjectReference
Representa uma referência a outro projeto. Os itens ProjectReference
são transformados em itens de Referência 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 substituí-los.
Nome de metadados de 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. |
Project | Cadeia de caracteres opcional. Um GUID para a referência, no formato {12345678-1234-1234-1234-123456781234}. |
OutputItemType | Cadeia de caracteres opcional. Tipo de item no qual emitir saídas de destino. O padrão é em branco. Se os metadados de referência forem 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 uma referência deste projeto, mas ainda garante que o outro projeto seja compilado antes deste. Assume o padrão de true . |
Privados | Booliano opcional. Especifica se a referência deve ser copiada para a pasta de saída. Esse atributo corresponde à propriedade Copiar Local da referência que está no Visual Studio IDE. |
SetConfiguration | Cadeia de caracteres opcional. Define a propriedade global Configuration do projeto referenciado, por exemplo, Configuration=Release . |
SetPlatform | Cadeia de caracteres opcional. Define a propriedade global Platform do projeto referenciado, por exemplo, Platform=AnyCPU . |
SetTargetFramework | Cadeia de caracteres opcional. Define a propriedade global TargetFramework do projeto referenciado, por exemplo, TargetFramework=netstandard2.0 . |
SkipGetTargetFrameworkProperties | Booliano opcional. Se for true , compilará o projeto referenciado sem negociar o valor TargetFramework mais compatível. Assume o padrão de false . |
Destinos |
string[] opcional. O ponto e vírgula separou a lista de destinos nos projetos referenciados que devem ser compilados. O padrão é o valor de $(ProjectReferenceBuildTargets) , cujo padrão é vazio, indicando os destinos padrão. Ao compilar no Visual Studio (em oposição a MSBuild.exe ou dotnet build ), especificar isso não impede que o Visual Studio crie os destinos padrão do projeto referenciado. |
Observação
Há uma diferença entre como as referências de projeto funcionam no .NET Framework e no .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 Project1 fizer referência a Project2 e Project2 fizer referência a 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 do Project1 no Project3.
Compilar
Representa os arquivos de origem do compilador.
Nome de metadados de item | Descrição |
---|---|
DependentUpon | 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 de notação a ser exibido quando o arquivo está fisicamente fora da influência do arquivo de projeto. |
Visible | Booliano opcional. Indica se o arquivo no Gerenciador de Soluções deve ser exibido 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 |
EmbeddedResource
Representa os recursos a serem inseridos no assembly gerado.
Nome de metadados de 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. |
DependentUpon | 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 nesse item. |
LastGenOutput | Cadeia de caracteres opcional. O nome do arquivo criado por qualquer gerador de arquivo executado nesse item. |
CustomToolNamespace | Cadeia de caracteres opcional. O namespace no qual qualquer gerador de arquivo executado nesse item deve criar código. |
Link | Cadeia de caracteres opcional. O caminho de notação será exibido se o arquivo estiver localizado fisicamente fora da influência do projeto. |
Visible | Booliano opcional. Indica se o arquivo no Gerenciador de Soluções deve ser exibido 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 |
LogicalName | Cadeia de caracteres obrigatória. O nome lógico do recurso inserido. |
Sumário
Representa arquivos que não são compilados no projeto, mas podem ser inseridos ou publicados junto com ele.
Nome de metadados de item | Descrição |
---|---|
DependentUpon | 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 nesse item. |
LastGenOutput | Cadeia de caracteres opcional. O nome do arquivo criado por qualquer gerador de arquivo executado nesse item. |
CustomToolNamespace | Cadeia de caracteres opcional. O namespace no qual qualquer gerador de arquivo executado nesse item deve criar código. |
Link | Cadeia de caracteres opcional. O caminho de notação a ser exibido se o arquivo estiver localizado fisicamente fora da influência do projeto. |
PublishState | Cadeia de caracteres obrigatória. O estado de publicação do conteúdo, seja: – Padrão – Incluído – Excluído – DataFile – Pré-requisito |
IsAssembly | Booliano opcional. Especifica se o arquivo é um assembly. |
Visible | Booliano opcional. Indica se o arquivo no Gerenciador de Soluções deve ser exibido 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 |
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 TargetPath não for fornecido, ele será calculado durante o processo de build. Confira AssignTargetPath. |
Nenhum
Representa arquivos que não devem ter função no processo de build.
Nome de metadados de item | Descrição |
---|---|
DependentUpon | 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 nesse item. |
LastGenOutput | Cadeia de caracteres opcional. O nome do arquivo criado por qualquer gerador de arquivo executado nesse item. |
CustomToolNamespace | Cadeia de caracteres opcional. O namespace no qual qualquer gerador de arquivo executado nesse item deve criar código. |
Link | Cadeia de caracteres opcional. O caminho de notação a ser exibido se o arquivo estiver localizado fisicamente fora da influência do projeto. |
Visible | Booliano opcional. Indica se o arquivo no Gerenciador de Soluções deve ser exibido 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 |
AssemblyMetadata
Representa atributos de assembly a serem gerados como [AssemblyMetadata(key, value)]
.
Nome de metadados de item | Descrição |
---|---|
Incluir | Torna-se o primeiro parâmetro (a chave) no construtor do atributo AssemblyMetadataAttribute . |
Valor | Cadeia de caracteres obrigatória. Torna-se o segundo parâmetro (o valor) no construtor de atributo AssemblyMetadataAttribute . |
Observação
Este item se aplica a projetos que usam o SDK para .NET 5 (e .NET Core) e versões posteriores.
InternalsVisibleTo
Especifica assemblies a serem emitidos como atributos de assembly [InternalsVisibleTo(..)]
.
Nome de metadados de item | Descrição |
---|---|
Incluir | O nome do assembly. |
Chave | Cadeia de caracteres opcional. Obtém a chave pública do assembly. |
Observação
Este item se aplica a projetos que usam o SDK para .NET 5 (e .NET Core) e versões posteriores.
BaseApplicationManifest
Representa o manifesto do aplicativo base do build e contém informações de segurança de implantação do ClickOnce.
CodeAnalysisImport
Representa o projeto do FxCop a ser importado.
Importar
Representa assemblies cujos namespaces devem ser importados pelo compilador do Visual Basic.
Pasta
Esse elemento só é usado pelo Visual Studio como um espaço reservado para uma pasta vazia. Quando a pasta é preenchida, ela é substituída por outro elemento.