BUG: Mensagem de Erro "Falha ao Tentar Acessar o Método" ao Usar uma Referência à Biblioteca de Objetos Incorreta do Microsoft Forms 2.0

Traduções deste artigo Traduções deste artigo
ID do artigo: 824009 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Sintomas

Em um projeto do Visual Studio .NET que contém uma referência à Biblioteca de Objetos do Microsoft Forms 2.0, você poderá receber uma mensagem de erro semelhante à seguinte:
System.MethodAccessException: "Falha ao tentar acessar o método."

Causa

Ao usar a caixa de diálogo Adicionar Referência para adicionar uma referência à Biblioteca de Objetos do Microsoft Forms 2.0, você verá que aparecerão duas entradas para Biblioteca de Objetos do Microsoft Forms 2.0. As duas entradas referem-se ao arquivo FM20.dll.

Você deve selecionar a primeira entrada Biblioteca de Objetos do Microsoft Forms 2.0 na lista, pois essa é a referência do Conjunto Interoperacional Primário (PIA - Primary Interop Assembly). Se você selecionar a segunda entrada Biblioteca de Objetos do Microsoft Forms 2.0, seu aplicativo pode não se comportar conforme o esperado.

Resolução

Para resolver o problema, execute as seguintes etapas:
  1. No Solution Explorer, clique com o botão direito do mouse na referência MSForms e clique em Remover.
  2. No Solution Explorer, clique com o botão direito do mouse em Referências e clique em Adicionar Referência.

    A caixa de diálogo Adicionar Referência aparece.
  3. Na caixa de diálogo Adicionar Referência, clique na guia COM.
  4. Na lista de componentes, clique na primeira entrada chamada Biblioteca de Objetos do Microsoft Forms 2.0.

    Nota Essa deve ser a versão PIA. Se aparecer somente uma entrada Biblioteca de Objetos do Microsoft Forms 2.0 na caixa de diálogo Adicionar Referência, e essa entrada não for da versão PIA, você deverá primeiro instalar o PIA a partir do CD-ROM do Microsoft Office System 2003.
  5. Clique em Selecionar para adicionar a entrada à lista de componentes selecionados.
  6. Clique em OK para fechar a caixa de diálogo Adicionar Referência.
  7. No Solution Explorer, clique na referência MSForms que você adicionou na etapa 5. Verifique se a propriedade Local da Cópia estiver definida como False, e a propriedade Caminho estiver apontando para o PIA (conforme descrito na seção "Mais Informações").
  8. Exclua o arquivo Interop.MSForms.dll antigo da pasta Obj localizada na pasta do seu aplicativo.

Mais Informações

Ao usar uma referência à versão PIA da Biblioteca de Objetos do Microsoft Forms 2.0, você verá as seguintes propriedades para a referência MSForms no Solution Explorer:
  • Local da Cópia: Falso
  • Caminho: C:\WINDOWS\assembly\GAC\Microsoft.Vbe.Interop.Forms\11.0.0.0__71e9bce111e9429c\Microsoft.Vbe.Interop.Forms.dll
Se a propriedade Caminho apontar para uma pasta no cache de conjunto (GAC), significa que você possui a referência (PIA) correta.

Se a referência à Biblioteca de Objetos do Microsoft Forms 2.0 foi adicionada incorretamente (ou se o PIA não estiver instalado), as propriedades de MSForms aparecerão da seguinte forma:
  • Local da Cópia: Verdadeiro
  • Caminho: C:\MyApplication\obj\Interop.MSForms.dll
Note que o Visual Studio .NET cria um novo IA (conjunto interoperacional) e copia-o para uma pasta em seu projeto. Se esse comportamento ocorrer, você está usando o conjunto errado.

Se a sua solução usar a referência MSForms incorreta, você terá problemas ao tentar usar objetos a partir dessa biblioteca. Por exemplo: Tente usar a função FindControl em um projeto da pasta de trabalho do Excel criada usando o Visual Studio Tools for the Microsoft Office System. (Geralmente, isso é feito para capturar o evento Click de um controle CommandButton na planilha.) Se a solução usar a referência MSForms incorreta, o evento Click do controle CommandButton não é disparado quando o usuário clicar no botão na planilha, embora não tenha ocorrido erro algum no código. Se você usar um manipulador de exceções ao tentar atribuir seu objeto CommandButton, você receberá a mensagem de erro que aparece na seção "Sintomas".

Propriedades

ID do artigo: 824009 - Última revisão: sexta-feira, 16 de janeiro de 2004 - Revisão: 1.1
A informação contida neste artigo aplica-se a:
  • Microsoft Visual Studio .NET 2003 Professional Edition
  • Microsoft Office Professional Edition 2003
  • Microsoft Visual Studio Tools for the Microsoft Office System
Palavras-chave: 
kberrmsg kbbug kbpia kbnofix KB824009

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com