Tipo biblioteca Exporter (Tlbexp.exe)
Type Library Exporter gera uma biblioteca de tipos que descreve os tipos definidos em um assembly de tempo de execução linguagem comum.
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:diretório de |
Especifica o local para Pesquisar para assemblies. Se você usar essa opção, você deve especificar explicitamente os locais para procurar por assemblies referenciados, incluindo o diretório corrente. Quando você usa o asmpath opção, o Type biblioteca Exporter não procurará por um assembly no cache global de assemblies (GAC). |
/help |
Exibe sintaxe de comando e opções para a ferramenta. |
/nomes:nome do arquivo de |
Especifica o uso de maiúsculas e minúsculas de nomes em uma biblioteca de tipos. The nome de arquivo argumento é um arquivo de texto. Cada linha no arquivo Especifica o uso de maiúsculas e minúsculas de um nome na biblioteca de tipos. |
/nologo |
Suprime a exibição Microsoft faixa de inicialização. |
/oldnames |
Força a TlbExp.exe para exportar os nomes de tipos decorados se houver um conflito de nome de tipo. Observe que esse era o comportamento padrão em versões anteriores à versão 2.0 do .NET estrutura. |
/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 conjunto real nome, que pode não necessariamente ser o mesmo que o arquivo contendo o assembly) e uma extensão de .tlb. |
/ silencioso |
Suprime a exibição das mensagens de êxito. |
/tlbreference:typelibraryname |
Força a TlbExp.exe para resolver referências de bibliotecas de tipo explicitamente 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 contar com a 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 de assembly; caso contrário, ele gerará um erro. Observe que o tlbreference opção ainda consulta o registro em casos onde o ComImportAttribute atributo é aplicado a uma interface 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 bit, essa opção especifica Tlbexp.exe gera uma biblioteca de tipos de 32 bit. |
/Win64 |
When compiling on a 32-bit computer, this option specifies that Tlbexp.exe generates a 64-bit type library. |
/verbose |
Especifica o modo detalhado; exibe uma lista de todos os 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 do Tlbexp.exe fazem distinção entre maiúsculas e minúsculas e podem ser fornecidas em qualquer ordem. Yo u só precisa especificar suficiente a opção para identificá-lo exclusivamente. Por exemplo, /n is equivalent to /nologo, and /o:outfile.tlb is equivalent to /out:outfile.tlb. |
Comentários
Tlbexp.exe gera uma biblioteca de tipos que contém definições de tipos definidas no assembly. Aplicativos sistema autônomo o Visual Basic 6.0 podem usar a biblioteca de tipos gerados para BIND a tipos de .NET definidos no conjunto de módulos (assembly).
O assembly inteiro é convertido de uma vez. Não é possível usar Tlbexp.exe para gerar informações de tipo para um subconjunto dos tipos definido em um assembly.
Não é possível usar Tlbexp.exe para produzir uma biblioteca de tipos de um assembly que foi importado usando o Tipo Library Importer (Tlbimp.exe). Em vez disso, você deve consultar a biblioteca de tipos do 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 exemplos abaixo.
Casas Tlbexp.exe gerada bibliotecas de tipos a diretório de trabalho corrente ou o diretório especificado para o arquivo de saída. Um único assembly, isso pode causar várias bibliotecas de tipo a ser gerado.
Tlbexp.exe gera uma biblioteca de tipos, mas não é registrado. Isso é contrário para o Ferramenta de inscrição do assembly (regasm.exe), que gera e registra uma biblioteca de tipos. Para gerar e registrar uma biblioteca de tipos COM, use regasm.exe.
Se você não especificar ambos o /win32 ou /win64 opção, Tlbexp.exe gera uma biblioteca de tipos de 32 bit ou 64 bit que corresponde ao tipo de computador no qual você está executando a compilação (computador de 32 bit ou 64 bit). Para fins de cross-compilação, você pode usar o /win64 opção em um computador de 32 bit para gerar uma biblioteca de tipos de 64 bit e você pode usar o /win32 opção em um computador de 64 bit para gerar uma biblioteca de tipos de 32 bit. Em bibliotecas de tipos de 32 bit, a SYSKIND valor é definido como SYS_WIN32. Em bibliotecas de tipos de 64 bit, a SYSKIND valor é definido como SYS_WIN64. Tipo de dados de todas sistema autônomo transformações (por exemplo, tamanho de ponteiro tipos de dados, sistema autônomo IntPtr e UIntPtr) são convertidos corretamente.
Se você usar o MarshalAsAttribute atributo para especificar um SafeArraySubType valor de VT_UNKOWN ou VT_DISPATCHTlbexp.exe ignora qualquer utilização subseqüente das SafeArrayUserDefinedSubType campo. Por exemplo, conceder 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 a TlbExp.exe ignora o SafeArrayUserDefinedSubType campo.
Porque as bibliotecas de tipos não podem acomodar todas as informações encontradas em assemblies, Tlbexp.exe pode descartar alguns dados durante o processo de exportar. Para obter uma explicação sobre o processo de transformação e a identificação da fonte do cada informação emitida para uma biblioteca de tipos, consulte o Conjunto de módulos (assembly) Type Library conversão resumo.
Observe que o Type biblioteca Exporter exporta sistema autônomo métodos que possuem TypedReference parâmetros sistema autônomo VARIANT, mesmo que o TypedReference objeto não tem significado em código não gerenciado. Ao exportar os métodos que possuem TypedReference parâmetros, o Type Library Exporter não irá gerar um aviso ou erro e código não gerenciado que usa a biblioteca de tipos resultante não serão executado corretamente.
Type biblioteca Exporter é suportado no Microsoft Windows 2000 e posteriores.
Exemplos
O comando a seguir gera uma biblioteca de tipos com o mesmo nome de assembly encontrado em myTest.dll.
tlbexp myTest.dll
O comando a seguir gera uma biblioteca de tipos com o nome de clipper.tlb.
tlbexp myTest.dll /out:clipper.tlb
O exemplo a seguir ilustra usando 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 o tipo de biblioteca myLib.tlb e salvá-lo sistema autônomo myLib.dll.
tlbimp myLib.tlb /out:myLib.dll
O comando a seguir usa o compilador translation from VPE for Csharp 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 de Sample.dll que faz referência myLib.dll.
tlbexp Sample.dll
Consulte também
Referência
Ferramenta de registro do conjunto (RegAsm.exe)
Tipo biblioteca Importer (Tlbimp.exe)