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.