Tarefa ResolveComReference

Obtém uma lista de um ou mais nomes de bibliotecas de tipo ou arquivos .tlb e resolve essas bibliotecas de tipo em locais no disco.

Parâmetros

A tabela a seguir descreve os parâmetros da tarefa ResolveCOMReference.

Parâmetro Descrição
DelaySign Parâmetro Boolean opcional.

Se true, coloca a chave pública no assembly. Se false, assina totalmente o assembly.
EnvironmentVariables Parâmetro String[] opcional.

Matriz de pares de variáveis de ambiente, separadas por sinais de igual. Essas variáveis são passadas para tlbimp.exe e aximp.exe gerados, adicionando ou substituindo seletivamente o bloqueio de ambiente regular.
ExecuteAsTool Parâmetro Boolean opcional.

Se true, executa tlbimp.exe e aximp.exe da estrutura de destino apropriada fora de processo para gerar os assemblies de wrapper necessários. Esse parâmetro habilita multiplataformas.
IncludeVersionInInteropName Parâmetro Boolean opcional.

Se true, a versão de typelib será incluída no nome do wrapper. O padrão é false.
KeyContainer Parâmetro String opcional.

Especifica um contêiner que armazena um par de chaves pública/privada.
KeyFile Parâmetro String opcional.

Especifica um item que contém um par de chaves pública/privada.
NoClassMembers Parâmetro Boolean opcional.
ResolvedAssemblyReferences Parâmetro de saída ITaskItem[] opcional.

Especifica as referências do assembly resolvidas.
ResolvedFiles Parâmetro de saída ITaskItem[] opcional.

Especifica os arquivos totalmente qualificados no disco que correspondem aos locais físicos das bibliotecas de tipo que foram fornecidas como entrada para esta tarefa.
ResolvedModules Parâmetro ITaskItem[] opcional.
SdkToolsPath Parâmetro System.String opcional.

Se ExecuteAsTool for true, esse parâmetro deverá ser definido como o caminho de ferramentas do SDK para a versão da estrutura de destino.
StateFile Parâmetro String opcional.

Especifica o arquivo de cache dos carimbos de hora/hora de componente COM. Se não existir, cada execução regenerará todos os invólucros.
TargetFrameworkVersion Parâmetro String opcional.

Especifica a versão da estrutura de destino do projeto.

O padrão é String.Empty. o que significa que não há nenhuma filtragem para uma referência com base na estrutura de destino.
TargetProcessorArchitecture Parâmetro String opcional.

Especifica a arquitetura do processador de destino preferencial. Passado para o sinalizador de tlbimp.exe/machine após a tradução.

O valor do parâmetro deve ser um membro de ProcessorArchitecture.
TypeLibFiles Parâmetro opcional ITaskItem[].

Especifica o caminho do arquivo de biblioteca de tipo para referências COM. Itens incluídos nesse parâmetro podem conter metadados do item. Para saber mais, consulte a seção Metadados do item TypeLibFiles abaixo.
TypeLibNames Parâmetro opcional ITaskItem[].

Especifica os nomes da biblioteca de tipos a serem resolvidos. Itens incluídos nesse parâmetro devem conter alguns metadados do item. Para saber mais, consulte a seção Metadados do item TypeLibNames abaixo.
WrapperOutputDirectory Parâmetro String opcional.

O local no disco no qual o assembly de interoperabilidade gerado é colocado. Se esses metadados de item não forem especificados, a tarefa usará o caminho absoluto do diretório em que o arquivo de projeto está localizado.

Metadados do item TypeLibNames

A tabela a seguir descreve os metadados de item disponíveis para itens passados para o parâmetro TypeLibNames.

Metadados Descrição
GUID Metadados obrigatórios do item.

O GUID para a biblioteca de tipos. Se esses metadados de item não forem especificados, a tarefa falhará.
VersionMajor Metadados obrigatórios do item.

A versão principal da biblioteca de tipos. Se esses metadados de item não forem especificados, a tarefa falhará.
VersionMinor Metadados obrigatórios do item.

A versão secundária da biblioteca de tipos. Se esses metadados de item não forem especificados, a tarefa falhará.
EmbedInteropTypes Metadados Boolean opcionais.

Se true, incorpore os tipos de interoperabilidade dessa referência diretamente em seu assembly em vez de gerar uma DLL de interoperabilidade.
LocaleIdentifier Metadados opcionais do item.

O LCID (ID de localidade) da biblioteca de tipos. Isso é especificado como um valor de 32 bits que identifica o idioma humano preferido por um usuário, região ou aplicativo. Se esses metadados de item não forem especificados, a tarefa usará uma ID de localidade de “0”.
WrapperTool Metadados opcionais do item.

Especifica a ferramenta wrapper que é usada para gerar o wrapper do assembly para esta biblioteca de tipos. Se esses metadados de item não forem especificados, a tarefa usará uma ferramenta wrapper padrão de “tlbimp”. As opções de typelibs disponíveis que não diferenciam maiúsculas e minúsculas são:

- Primary: use essa ferramenta wrapper quando desejar usar um assembly de interoperabilidade primário já gerado para o componente COM. Quando você usar essa ferramenta wrapper, não especifique um diretório de saída do wrapper, pois isso fará com que a tarefa falhe.
- TLBImp: use essa ferramenta wrapper quando desejar gerar um assembly de interoperabilidade para o componente COM.
- PrimaryOrTLBImp: use essa ferramenta de wrapper quando não tiver certeza se Primary ou TLBImp é apropriado. A lógica Primary é aplicada primeiro e, em seguida, TLBImp.
- AXImp: use essa ferramenta wrapper quando desejar gerar um assembly de interoperabilidade para um Controle ActiveX.

Metadados do item TypeLibFiles

A tabela a seguir descreve os metadados de item disponíveis para itens passados para o parâmetro TypeLibFiles.

Metadados Descrição
EmbedInteropTypes Parâmetro Boolean opcional.

Se true, incorpore os tipos de interoperabilidade dessa referência diretamente em seu assembly em vez de gerar uma DLL de interoperabilidade.
WrapperTool Metadados opcionais do item.

Especifica a ferramenta wrapper que é usada para gerar o wrapper do assembly para esta biblioteca de tipos. Se esses metadados de item não forem especificados, a tarefa usará uma ferramenta wrapper padrão de “tlbimp”. As opções de typelibs disponíveis que não diferenciam maiúsculas e minúsculas são:

- Primary: use essa ferramenta wrapper quando desejar usar um assembly de interoperabilidade primário já gerado para o componente COM. Quando você usar essa ferramenta wrapper, não especifique um diretório de saída do wrapper, pois isso fará com que a tarefa falhe.
- TLBImp: use essa ferramenta wrapper quando desejar gerar um assembly de interoperabilidade para o componente COM.
- AXImp: use essa ferramenta wrapper quando desejar gerar um assembly de interoperabilidade para um Controle ActiveX.

Observação

Quanto mais informações você fornece para identificar uma biblioteca de tipos com exclusividade, maior a possibilidade de que a tarefa será resolvida para o arquivo correto no disco.

Comentários

Além dos parâmetros listados acima, essa tarefa herda parâmetros da classe Task. Para obter uma lista desses parâmetros adicionais e suas descrições, confira Classe base Task.

A DLL COM não precisa estar registrada na máquina para que essa tarefa funcione.

Erro MSB4803

Se você tentar executar um projeto que usa a tarefa ResolveCOMReference dos comandos dotnet da CLI, receberá o erro:

MSB4803: The task "ResolveComReference" is not supported on the .NET Core version of MSBuild. Please use the .NET Framework version of MSBuild.

Não há suporte para essa tarefa na versão do .NET Core do MSBuild, que é o que é usado quando você executa o comando dotnet build na linha de comando. Tente compilar o projeto invocando MSBuild.exe do Prompt de Comando do Desenvolvedor do Visual Studio, pois isso usa a versão .NET Framework do MSBuild.

Confira também