Tlbexp. exe (exportador da biblioteca)
O exportador da biblioteca gera uma biblioteca de tipos que descreve os tipos definidos em um assembly de tempo de execução de linguagem comum.
O exportador da biblioteca é automaticamente instalado com o Visual Studio. Para iniciar a ferramenta, use o Prompt de comando Visual Studio. No prompt de comando, digite o seguinte:
tlbexp assemblyName [/out:file] [/nologo] [/silent] [/verbose]
Parâmetros
Argumento |
Descrição |
---|---|
assemblyName |
O assembly para o qual deseja exportar uma biblioteca de tipos. |
Opção |
Descrição |
---|---|
/asmpath:directory |
Especifica o local para procurar por assemblies. Se você usar esta opção, você deve especificar explicitamente os locais para procurar por assemblies referenciados, incluindo o diretório atual. Quando você usa o asmpath opção, o exportador da biblioteca não procurará um assembly no cache global de assemblies (GAC). |
/help |
Exibe sintaxe de comando e opções para a ferramenta. |
/Names:nome de arquivo |
Especifica as maiúsculas/minúsculas dos nomes em uma biblioteca de tipos. O nome de arquivo argumento é um arquivo de texto. Cada linha no arquivo Especifica o uso de maiúsculas com um nome na biblioteca de tipos. |
/nologo |
Suprime a exibição Microsoft faixa de inicialização. |
/oldnames |
Força Tlbexp. exe para exportar decorado tipo nomes se houver um conflito de nome de tipo. Observe que esse era o comportamento padrão em versões anteriores do.NET Framework versão 2.0. |
/out:arquivo |
Especifica o nome do arquivo de biblioteca de tipo para gerar. Se você omitir esta opção, Tlbexp. exe gera uma biblioteca de tipos com o mesmo nome de assembly (o real assembly name, que pode não ser necessariamente o mesmo que o arquivo contendo o assembly) e uma extensão. tlb. |
/ silencioso |
Suprime a exibição de mensagens de sucesso. |
/tlbreference:typelibraryname |
Força Tlbexp. exe para explicitamente resolver referências de biblioteca de tipo sem consultar o registro. Por exemplo, se o assembly b referencia o assembly A, você pode usar esta opção para fornecer uma referência de biblioteca de tipo explícito, em vez de depender da biblioteca de tipos especificada no registro. Tlbexp. exe executa uma verificação de versão para garantir que a versão da biblioteca de tipo corresponde a versão do assembly; Caso contrário, ele gera um erro. Observe que o tlbreference opção ainda consulta o registro em casos onde o ComImportAttribute atributo é aplicado a uma interface que é então implementada por outro tipo. |
/tlbrefpath:caminho |
Caminho totalmente qualificado para uma biblioteca de tipos referenciada. |
/Win32 |
Durante a compilação em um computador de 64 bits, esta opção especifica que Tlbexp. exe gera uma biblioteca de tipos de 32 bits. |
/Win64 |
Durante a compilação em um computador de 32 bits, esta opção especifica que Tlbexp. exe gera uma biblioteca de tipos de 64 bits. |
/verbose |
Especifica o modo detalhado; Exibe uma lista de qualquer assemblies referenciados para o qual precisa de uma biblioteca de tipos a ser gerado. |
/? |
Exibe sintaxe de comando e opções para a ferramenta. |
Observação
As opções de linha de comando para Tlbexp. exe diferenciam maiúsculas de minúsculas e podem ser fornecidas em qualquer ordem.Você só precisará especificar o suficiente da opção para identificá-lo exclusivamente.Por exemplo, /n é equivalente a /nologo, e /o:outfile.tlb é equivalente a /out:outfile.tlb.
Comentários
Tlbexp. exe gera uma biblioteca de tipos que contém definições dos tipos definidos no assembly. Aplicativos como, por exemplo, Visual Basic 6.0 podem usar a biblioteca de tipos gerados para vincular a.Tipos de rede definidos no assembly.
O assembly inteiro é convertido de uma vez. É possível usar Tlbexp. exe para gerar informações de tipo para um subconjunto dos tipos definidos em um assembly.
Não é possível usar Tlbexp. exe para produzir uma biblioteca de tipos de um assembly que foi importado usando o Type Library Importer (Tlbimp. exe). Em vez disso, você deve se referir à biblioteca de tipos original que foi importada com Tlbimp. exe. Você pode exportar uma biblioteca de tipos de um assembly que faz referência a assemblies que foram importados usando Tlbimp. exe. Consulte a seção de exemplos abaixo.
Tlbexp. exe casas gerada bibliotecas de tipo no diretório de trabalho atual ou o diretório especificado para o arquivo de saída. Um único assembly pode causar várias bibliotecas de tipo a ser gerado.
Tlbexp. exe gera uma biblioteca de tipos, mas não registrar. Isso é em contraste com o a ferramenta de registro de Assembly (Regasm. exe), que gera e registra uma biblioteca de tipos. Para gerar e registrar em uma biblioteca de tipos com, use Regasm. exe.
Se você não especificar o /win32 ou /win64 opção, Tlbexp. exe gera uma biblioteca de tipos de 32 bits ou 64 bits que corresponde ao tipo de computador no qual você está executando a compilação (computador de 32 bits ou 64 bits). Para fins de cross-compilação, você pode usar o /win64 opção em um computador de 32 bits para gerar uma biblioteca de tipos de 64 bits e você pode usar o /win32 opção em um computador de 64 bits para gerar uma biblioteca de tipo de 32 bits. Nas bibliotecas de tipos de 32 bits, o SYSKIND valor é definido como SYS_WIN32. Nas bibliotecas de tipos de 64 bits, o SYSKIND valor é definido como SYS_WIN64. Transformações de tipo de todos os dados (por exemplo, tamanho do ponteiro tipos de dados, como IntPtr e UIntPtr) são convertidos corretamente.
Se você usar o MarshalAsAttribute atributo para especificar um SafeArraySubType o valor de VT_UNKOWN ou VT_DISPATCH, Tlbexp. exe ignora qualquer utilização subseqüente da SafeArrayUserDefinedSubType campo. Por exemplo, considerando as seguintes assinaturas:
[return:MarshalAs(UnmanagedType.SafeArray, SafeArraySubType=VarEnum.VT_UNKNOWN, SafeArrayUserDefinedSubType=typeof(ConsoleKeyInfo))] public Array StructUnkSafe(){return null;}
[return:MarshalAs(UnmanagedType.SafeArray, SafeArraySubType=VarEnum.VT_DISPATCH, SafeArrayUserDefinedSubType=typeof(ConsoleKeyInfo))] public Array StructDispSafe(){return null;}
a biblioteca de tipos a seguir é gerada:
[id(0x60020004)]
HRESULT StructUnkSafe([out, retval] SAFEARRAY(IUnknown*)* pRetVal);
[id(0x60020005)]
HRESULT StructDispSafe([out, retval] SAFEARRAY(IDispatch*)* pRetVal);
Observe que Tlbexp. exe ignora o SafeArrayUserDefinedSubType campo.
Porque as bibliotecas de tipos não acomodar todas as informações encontradas em assemblies, Tlbexp. exe pode descartar alguns dados durante o processo de exportação. Para obter uma explicação sobre o processo de transformação e a identificação da origem de cada informação emitida para uma biblioteca de tipos, consulte o Assembly para o resumo de conversão de biblioteca de tipos.
Observe que o exportador da biblioteca exporta os métodos que possuem TypedReference parâmetros como VARIANT, mesmo que o TypedReference objeto não tem significado no código não gerenciado. Quando você exporta os métodos que possuem TypedReference parâmetros, o exportador da biblioteca não gerarão um aviso ou erro e código não gerenciado que usa a biblioteca de tipos resultante não serão executado corretamente.
O exportador da biblioteca é suportado no Microsoft Windows 2000 e posteriores.
Exemplos
O comando a seguir gera uma biblioteca de tipos com o mesmo nome, como encontrar o assembly em myTest.dll.
tlbexp myTest.dll
O comando a seguir gera uma biblioteca de tipos com o nome clipper.tlb.
tlbexp myTest.dll /out:clipper.tlb
O exemplo a seguir ilustra o uso de Tlbexp. exe para exportar uma biblioteca de tipos de um assembly que faz referência a assemblies que foram importados usando Tlbimp. exe.
Primeiro, use Tlbimp. exe para importar a biblioteca de tipos myLib.tlb e salve-o como myLib.dll.
tlbimp myLib.tlb /out:myLib.dll
O comando a seguir usa o compilador C# para compilar o Sample.dll, quais referências myLib.dll criado no exemplo anterior.
CSC Sample.cs /reference:myLib.dll /out:Sample.dll
O comando a seguir gera uma biblioteca de tipos do Sample.dll que faz referência a myLib.dll.
tlbexp Sample.dll
Consulte também
Referência
Regasm. exe (ferramenta de registro de Assembly)
Tlbimp. exe (importador da biblioteca)
Prompt de comando Visual Studio