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
- propriedades comuns do projeto MSBuild
- de metadados comuns de item do MSBuild