ID do artigo: 948461 - Última revisão: quarta-feira, 16 de abril de 2008 - Revisão: 2.1

Você não pode carregar um assembly .NET Framework 2.0 a partir do Visual Basic for Applications no Word 2003 e versões anteriores, ou no Excel 2003 e versões anteriores

Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.
importante Este artigo contém informações sobre como modificar o registro. Certifique-se de que você faça backup do registro antes de modificá-lo. Certifique-se que você sabe como restaurar o registro se ocorrer um problema. Para obter mais informações sobre como fazer backup, restaurar e modificar o registro, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
322756  (http://support.microsoft.com/kb/322756/ ) Como fazer backup e restaurar o registro no Windows

Nesta página

Expandir tudo | Recolher tudo

Sintomas

Você tem suplementos ou macros que usam o Microsoft .NET Framework 2.0 assemblies. Se você executar esses suplementos ou macros do Visual Basic for Applications (VBA) no Microsoft Office Word 2003 ou versões anteriores, ou no Microsoft Office Excel 2003 ou versões anteriores, esses assemblies não inicializar corretamente. Além disso, esses assemblies retornarão um erro.

Por exemplo, você receberá uma mensagem de erro semelhante à seguinte:
Erro em tempo de execução: '-2147024894 (80070002): arquivo ou nome do assembly AssemblyName ou uma de suas dependências, não foi encontrada.
Observação Esse problema não ocorre no Microsoft Office Word 2007 ou no Microsoft Office Excel 2007.

Causa

O .NET Framework 2.0 inclui uma diretiva de lockback. Esta diretiva impede que o .NET Framework 2.0 common language runtime (CLR) ao inicializar quando o .NET Framework 2.0 é hospedado no espaço de processo Word ou o Excel espaço de processo. A diretiva de restrição limita o Word e Excel de Carregando versões do .NET Framework que são posteriores à versão 1.1. Portanto, o .NET Framework 2.0 assemblies não é possível carregar.

A diretiva de restrição foi adicionada para compatibilidade com o Microsoft Visual Studio Tools para o Microsoft Office System (VSTO). VSTO especificamente foi codificado para trabalhar com o .NET Framework 1.1.

Como Contornar

Oficialmente, executar código gerenciado dentro do Word ou dentro Excel é desencorajado, a menos que você use um ambiente de tempo de execução com suporte que lida com vários componentes do fornecedor, tais como o runtime do VSTO. Alguns componentes de código de oferta gerenciada fornecedores que usam interoperabilidade COM. Portanto, esses componentes carregar dentro do Word ou dentro do Excel sem usar o mecanismo de runtime do VSTO. No entanto, esses componentes não são executados em isolamento. Esses componentes podem afetar adversamente habilidades do Office. Sugerimos que você considere os efeitos do uso antes de incluir esses tipos de componentes em seus projetos do suplemento ou em seus projetos de macro que executam no Word ou no Excel.

Se sua solução personalizada deve usar os componentes gerenciados .NET Framework 2.0 sem usar o runtime do VSTO, considere uma das seguintes opções para reduzir o efeito da diretiva lockback.

Clientes que estejam executando o Microsoft Office 2003

VSTO 2003 foi introduzida para adicionar suporte a código gerenciado no Office 2003. VSTO foi projetado para usar o .NET Framework 1.1. Posteriormente, a Microsoft introduziu o .NET Framework 2.0. Entretanto, o .NET Framework 2.0 pode causar problemas de compatibilidade com o VSTO 2003. Portanto, o CLR do .NET Framework 2.0 foi impedido de carregar no Word ou no Excel, a menos que esses produtos do Office tinham uma versão atualizada do mecanismo de runtime do VSTO. Essa atualização foi fornecida a clientes do Office 2003 em uma atualização disponível para download. A atualização foi incluída na atualização do Office 2003 Service Pack 3 (SP3).

Para obter mais informações sobre como obter essa atualização para o Office 2003, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
907417  (http://support.microsoft.com/kb/907417/ ) Descrição da atualização para o Office 2003: 8 de novembro de 2005

Clientes que estão executando o Office 2000 ou Office XP

importante Esta seção, método ou tarefa contém etapas que informam sobre como modificar o registro. No entanto, sérios problemas poderão ocorrer se você modificar o registro incorretamente. Por isso, certifique-se que você execute essas etapas cuidadosamente. Para proteção adicional, fazer backup do registro antes de modificá-lo. Em seguida, você pode restaurar o registro se ocorrer um problema. Para obter mais informações sobre como fazer backup e restaurar o registro, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
322756  (http://support.microsoft.com/kb/322756/ ) Como fazer backup e restaurar o registro no Windows
Microsoft não fornece um tempo de execução gerenciado para o Microsoft Office 2000 ou do Microsoft Office XP (2002). Portanto, a Microsoft não oferece uma atualização para esses clientes. Sem um host de runtime para impor o isolamento de componente, componentes que produzem de diferentes fornecedores podem interferir com outros componentes. Esses componentes podem causar problemas para o cliente. Esses componentes também podem causar erros de instabilidade ou tempo de execução do aplicativo. Portanto, a Microsoft desestimula usando código gerenciado no Office 2000 ou no Office XP. Tenha cuidado ao tentar apresentar o código gerenciado para essas versões do Office. Essas versões do Office foram criadas e testadas antes que o .NET Framework foi criado.

Se você tiver uma solução que deve usar código gerenciado em Word 2000, no Word 2002, no Excel 2000, ou no Excel 2002, você pode configurar manualmente o sistema de cliente para ignorar a diretiva de lockback e habilitar o CLR do .NET Framework 2.0 carregar essas versões. Para fazer isso, execute as seguintes etapas:
  1. Clique em Iniciar , clique em Executar , digite regedit e pressione ENTER.
  2. Localize e, em seguida, clique com o botão direito do mouse na chave do Registro:
    HKEY_CLASSES_ROOT\Interface
  3. Aponte para novo e, em seguida, clique em chave .
  4. Digite {000 C 0601-0000-0000-C000-000000000046} como o nome para a nova chave do Registro.
  5. No lado direito, clique duas vezes na entrada do registro do padrão, digite Word/Excel .NET Framework 2.0 Lockback Ignorar chave na caixa dados do valor e, em seguida, clique em OK .
  6. Feche o Editor do Registro.
Observação Definir esta tecla de ignorar pode causar problemas de compatibilidade para soluções que são criados usando o VSTO 2003. Desde que este cliente permanece no Office 2000 ou no Office XP, isso não deve ser um problema. No entanto, se o cliente atualiza para o Office 2003, o cliente instale a atualização completa que foi mencionada anteriormente para ser suporte da Microsoft. Ele se torna sua responsabilidade garantir que essa configuração esteja correta se você definir esta tecla de ignorar manualmente.

Situação

Esse comportamento é por design.

Mais Informações

Uma observação para desenvolvedores

Os desenvolvedores que criam soluções de suplemento ou macro soluções para o Word ou Excel devem estar cientes das limitações de incluindo componentes gerenciados em sua solução. Tente usar componentes nativos quando possível. Além disso, considere o direcionamento a solução para versões do Office que executam o runtime do VSTO 2005, o runtime do VSTO 2005 SE ou o runtime do VSTO 2008. Se sua solução deve usar componentes gerenciados que expõe a interoperabilidade COM, você deve considerar quebra os componentes em um host nativo. O host nativo fornece isolamento de assembly e coleta de lixo para que sua solução não interfere nos outros componentes gerenciados no espaço de processo de host do mesmo.

Para obter mais informações sobre como fazer uma correção COM para código gerenciado, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
830468  (http://support.microsoft.com/kb/830468/ ) Suplementos gerenciados falharem ou se comportar inesperadamente depois que você instala um gerenciado COM suplemento que inclui um arquivo de configuração de aplicativo personalizado no Office 2003, no Office XP e no Office 2000
Se sua solução é projetada para usar o VSTO 2005, e você deve garantir a compatibilidade com un-patched clientes do Office 2003, a Microsoft oferece um pacote pré-requisito de instalação que você pode incluir na configuração do projeto. Esse pacote de pré-requisito inclui tudo o que você deve ter para configurar corretamente o cliente mesmo se o cliente não estiver executando o Office 2003 SP3.

Para obter mais informações sobre como esta opção de instalação para o VSTO 2005, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
908002  (http://support.microsoft.com/kb/908002/ ) CORRECÇÃO: Suplementos, documentos inteligentes ou marcas inteligentes que você cria usando o Microsoft Visual Studio 2005 são não executados no Office

Referências

Para obter mais informações, visite o seguinte site:
http://blogs.msdn.com/vsofficedeveloper/pages/Office-CLR2-Lockback-Bypass.aspx (http://blogs.msdn.com/vsofficedeveloper/pages/Office-CLR2-Lockback-Bypass.aspx)

A informação contida neste artigo aplica-se a:
  • Microsoft Office Basic Edition 2003
  • Microsoft Office Professional Edition 2003
  • Microsoft Office Small Business Edition 2003
  • Microsoft Office Standard Edition 2003
  • Microsoft Office Students and Teachers Edition 2003
  • Microsoft Office XP Professional Edition
  • Microsoft Office XP Small Business Edition
  • Microsoft Office XP Standard Edition
  • Microsoft Office XP Students and Teachers
  • Microsoft Office 2000 Premium Edition
  • Microsoft Office 2000 Professional Edition
  • Microsoft Office 2000 Small Business Edition
  • Microsoft Office 2000 Standard Edition
Palavras-chave: 
kbmt kbexpertiseinter kbtshoot kbprb KB948461 KbMtpt
Tradução automáticaTradução automática
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: 948461  (http://support.microsoft.com/kb/948461/en-us/ )