Erro: O Microsoft .NET Framework Assembly Registration Utility registra o assembly de interoperabilidade primário com o número de versão incorreto sob a chave de biblioteca de tipo

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 817056
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
importante : Este artigo contém informações sobre como modificar o registro. Antes de modificar o registro, certifique-se de backup e certifique-se que você saiba como restaurar o registro se ocorrer um problema. Para obter informações sobre como fazer backup, restaurar e editar o registro, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
256986Descrição do registro do Microsoft Windows
Sintomas
Ao criar um Primary Interop Assembly (PIA), os registradores de utilitário (RegAsm.exe) do Microsoft .NET Framework Assembly Registration número da biblioteca de tipos do versão no valor decimal com "Major.Minor" formate.
Como Contornar
Para contornar esse bug, execute estas etapas:
  1. Usar RegAsm.exe com o
    /Regfile
    opção de linha de comando.

    Isso gera o arquivo .reg que contém os arquivos do registro que você precisa.
  2. Edite manualmente o valor decimal do número de versão. Altere o valor para o valor hexadecimal correspondente e execute o arquivo. reg.
RegAsm.exe depende Oleaut32.dll para registrar a biblioteca de tipos e as informações do registro que não escrever para o arquivo .reg quando você executa RegAsm.exe usando o
/Regfile
opção. Para corrigir o problema, execute as seguintes etapas:
  1. RegAsm.exe execução uma vez sem usar o
    /Regfile
    opção.
  2. Executar RegAsm.exe usando
    /Regfile
    .
  3. Edite o arquivo. reg.
  4. Execute RegAsm.exe.
Situação
A Microsoft confirmou que esse é um problema nos produtos da Microsoft listados no começo deste artigo.
Mais Informações
Aviso : se você usar o Editor do Registro incorretamente, poderá causar problemas sérios que talvez exijam a reinstalação do sistema operacional. A Microsoft não garante que você pode resolver problemas resultantes do uso incorreto do Editor do Registro. Use o Editor do registro por sua própria conta e risco.

Passos para reproduzir o problema

  1. Criar e registrar um componente COM (MyComponent.dll) com um número de versão que está mais de 9 em valor decimal. Por exemplo, use a seqüência de versão como 1.12.

    Observação A versão "Major.Minor" está no formato de número decimal.
  2. Abra um prompt de comando Microsoft Visual Studio. NET.
  3. Localize a pasta que contém o MyComponent.tlb arquivo.
  4. Execute o seguinte comando para gerar um arquivo de par de chaves de nome forte:
    sn -k mykey.snk
  5. Execute o seguinte comando para criar o PIA como MyComponentLib.Dll:
    TlbImp MyComponent.Dll /keyfile:mykey.snk /primary 
  6. Execute o seguinte comando para registrar o PIA:
    regasm MyComponentLib.Dll
  7. Execute o seguinte comando para abrir o Editor do Registro:
    regedit
  8. Localize o seguinte valor do Registro:
    HKEY_CLASSES_ROOT\TypeLib\{LIBID}
    Uma entrada de nó com o valor hexadecimal 1.12 é criada.

    Observação Crie o valor do Registro como valor hexadecimal "1.C".

Propriedades

ID do Artigo: 817056 - Última Revisão: 12/08/2015 02:20:38 - Revisão: 1.3

Microsoft .NET Framework 1.1

  • kbnosurvey kbarchive kbmt kbcominterop kbbug KB817056 KbMtpt
Comentários