Partilhar via


Solucionando problemas de erros de tempo de Design em soluções do Office

Você pode encontrar problemas ao executar as seguintes tarefas enquanto você desenvolver soluções do Office em Visual Studio:

  • Criar, atualizar e abrindo projetos

  • Usando os designers

  • Escrevendo código

  • Construindo projetos

  • Depuração de projetos

Criar, atualizar e abrindo projetos

Você pode encontrar os seguintes erros ao criar ou abrir projetos do Office.

O projeto não pode ser criado.

Ocorreu um erro quando você tentou criar ou abrir um projeto do Office, mas Visual Studio não tem informações suficientes para determinar a causa. Tente fechar o seu projeto, saindo do Visual Studio e inicie-o novamente.

Se você estiver tentando criar um projeto de nível de documento, é possível que outro documento com o mesmo nome que o documento no novo projeto já está aberto no Excel ou Word. Certifique-se de que todas as outras instâncias do Excel ou Word estão fechadas.

Propriedades do controle são perdidas quando você cria um novo projeto baseado em um documento a partir de um projeto existente

Se você criar um novo projeto do Office com base em um documento a partir de um projeto existente, as propriedades para todos os controles que estão no documento não são copiadas no novo projeto. Você deve redefinir manualmente as propriedades para todos os controles preexistentes. Como alternativa, você pode preservar as propriedades de controle, criando uma cópia de um projeto existente em vez de criar um novo projeto, ou carregar o projeto existente na nova solução (no designer), copiar e colar os controles do documento existente para o novo documento.

Visual Studio deixa de responder quando você cria um novo Word 2007 modelo de projeto com base no modelo de um projeto existente

Visual Studio pode parar de responder se você criar um projeto de modelo do Word 2007 na seguinte situação:

  • O projeto baseia-se em um modelo do Word de outro projeto em Visual Studio.

  • O modelo tem a extensão. dot e o modelo contém controles Windows Forms que foram adicionados a partir de outro projeto.

Para evitar esse problema, antes de criar o novo projeto, adicione a pasta onde o projeto será criado na lista de locais confiáveis no Word. Para obter mais informações sobre como adicionar uma pasta para os locais confiáveis, consulte o site da Microsoft Office on-line criar, remover ou alterar um local confiável para os arquivos.

Erros quando você cria um projeto de pasta de trabalho do Excel com base em uma pasta de trabalho existente

Se você criar um novo projeto de pasta de trabalho do Excel com base em uma pasta de trabalho existente, você pode ver uma combinação dos seguintes erros.

A partir do Excel: "Aviso de privacidade: Este documento contém macros, controles de ActiveX, informações de pacote de expansão XML ou Web components. Elas podem incluir informações pessoais que não podem ser removidas pelo Inspetor de documento."

De Visual Studio: "O designer não pôde carregar corretamente."

Esses erros podem ocorrer de que você tentar criar um projeto que se baseia em uma pasta de trabalho que tiveram suas informações pessoais removidas usando o Inspetor de documento. Para evitar esse erro, execute as seguintes etapas antes de criar o projeto.

  1. Abra a pasta de trabalho no Excel.

  2. No Excel, abra a Central de confiabilidade.

  3. No Opções de privacidade guia limpar o Remover informações pessoais do arquivo de propriedades em Salvar caixa de seleção.

  4. Salve a pasta de trabalho e feche o Excel.

Não é possível abrir um projeto após a migração

Após um solução for migrada para 2010 de Microsoft Office do Office, o projeto não pode ser aberto em um computador de desenvolvimento com apenas o sistema de Microsoft Office de 2007 instalado. Você pode ver os seguintes erros.

"Um ou mais projetos na solução não foram carregados corretamente. Consulte a janela de saída para detalhes."

"Não é possível criar o projeto porque o aplicativo associado a esse tipo de projeto não está instalado neste computador. Você deve instalar o aplicativo de Microsoft Office que está associado esse tipo de projeto."

Para resolver esse problema, edite o arquivo. vbproj ou. csproj. Para um projeto do Word, substitua HostPackage = "{763FDC83-64E5-4651-AC9B-28C4FEB985A1}" com HostPackage = "{6CE98B71-D55A-4305-87A8-0D6E368D9600}". Para um projeto do Excel, substitua HostPackage = "{B284B16A-C42C-4438-BDCD-B72F4AC43CFB}" com HostPackage = "{825100CF-0BA7-47EA-A084-DCF3308DAF74}". Para um projeto do Outlook, substitua HostPackage = "{D2B20FF5-A6E5-47E1-90E8-463C6860CB05}" com HostPackage = "{20A848B8-E01F-4801-962E-25DB0FF57389}".

Como alternativa, certifique-se de que projetos migrados são abertos apenas em computadores de desenvolvimento com 2010 de Microsoft Office já instalado.

Erros de projetos atualizados do nível de documento do Office 2003 que contêm controles Windows Forms

Se você atualizar um projeto de nível de documento de 2003 do Microsoft Office e o documento contiver controles Windows Forms, o projeto atualizado pode ter a compilação ou erros de tempo de execução. Para evitar esse problema, instale o Visual Studio 2005 Tools para Office segundo Edition Runtime no computador de desenvolvimento antes de atualizar o projeto. Esta versão do tempo de execução está disponível como um pacote redistribuível do Centro de Download da Microsoft em Microsoft Visual Studio 2005 Tools for Office segundo Edition Runtime (VSTO 2005 SE) (x86).

Depois de atualizar o projeto, é possível desinstalar as ferramentas de 2005 Visual Studio para Office segundo Edition Runtime do computador de desenvolvimento se não estiver sendo usado por outras soluções do Office.

Pastas de trabalho do Excel ficam desativadas quando um projeto de personalização em nível de documento do Excel 2007 É aberto no Visual Studio

Quando você abre o Excel 2007 e, em seguida, cria um projeto de personalização em nível de documento do Excel 2007 em Visual Studio, a pasta de trabalho que você abriu o primeiro pára de responder.

Para resolver esse problema, clique na planilha que está visível no designer de Visual Studio. A pasta de trabalho que você abriu o primeiro começa a responder.

Usando os Designers

Você pode encontrar os seguintes erros quando você trabalha com o documento, a pasta de trabalho ou o criador de planilha em projetos de nível de documento.

Falha ao carregar corretamente o Designer

Visual Studio não pode abrir o designer nos seguintes casos:

  • Excel ou Word já está aberto e está exibindo uma caixa de diálogo modal. Para abrir o designer, verifique se Excel ou Word tem uma caixa de diálogo modal abrir e fechar quaisquer caixas de diálogo modal. Se não houver nenhuma caixa de diálogo modal aberta, pode haver alguma outra ação necessária antes do Excel ou Word responde.

  • O projeto está sendo atualmente depurado. Para abrir o designer, parar ou concluir a depuração.

  • Um suplemento do Excel que está instalado no computador de desenvolvimento está exibindo uma caixa de diálogo quando o Excel é iniciado. Para criar um projeto de nível de documento do Excel, primeiro desative o add-in.

Os controles aparecem como retângulos pretos no documento ou planilha

Se você agrupar controles em um documento ou planilha, Visual Studio não reconhece mais controles. Controles agrupados não podem ser acessados a Propriedades janela e eles aparecem como retângulos pretos no documento ou planilha. Você deve desagrupar controles para restaurar suas funcionalidades.

Controles em um modelo do Word não são visível em Visual Studio

Se você abrir um modelo do Word no designer de Visual Studio, os controles no modelo que não estão de acordo com o texto podem não estar visíveis. Isso ocorre porque Visual Studio abre os modelos do Word no Normal modo de exibição. Para exibir os controles, clique na Exibir , aponte para o modo de exibição do Microsoft Office Word e, em seguida, clique em Layout de impressão.

Comando do Inserir Clip-arts não fará nada no Designer de Visual Studio

Quando o Excel ou Word é aberto no designer de Visual Studio, clicando no Clip-Art no botão a ilustrações guia na faixa de opções não abre o Clip-Art painel de tarefas. Para adicionar clip-art, abra a cópia da pasta de trabalho ou do documento que está na pasta do projeto principal (não a cópia está na pasta \bin) fora do Visual Studio, adicionar o clip-art e salve a pasta de trabalho ou o documento.

Escrevendo código

Você pode encontrar os seguintes erros ao escrever código em projetos do Office.

Alguns eventos de objetos do Office não são acessíveis ao usar C#

Em alguns casos, você pode ver um erro do compilador como o seguinte quando você tenta acessar um determinado evento de uma instância de um tipo de assembly de interoperabilidade primária (PIA) em um projeto do Visual C# do Office.

"A ambigüidade entre 'Microsoft.Office.Interop.Excel._Application.NewWorkbook' e 'Microsoft.Office.Interop.Excel.AppEvents_Event.NewWorkbook' "

Esse erro significa que você está tentando acessar um evento que tem o mesmo nome que outra propriedade ou método do objeto. Para acessar o evento, você deve converter o objeto para seu interface de eventos.

Os tipos de PIA do Office possuem eventos implementam duas interfaces: uma interface de núcleo com todas as propriedades e métodos e uma interface de evento que contém os eventos que são expostos pelo objeto. A convenção de nomenclatura de usar essas interfaces de evento objectnameeventosn_Event, como Microsoft.Office.Interop.Excel.AppEvents_Event e Microsoft.Office.Interop.Word.ApplicationEvents2_Event. Se você não pode acessar um evento que você esperava encontrar em um objeto, converta o objeto à sua interface de evento.

Por exemplo, Microsoft.Office.Interop.Excel.Application objetos têm uma NewWorkbook evento e um NewWorkbook propriedade. Para lidar com o NewWorkbook a projeção de evento, o Microsoft.Office.Interop.Excel.Application para o AppEvents_Event interface. O exemplo de código a seguir demonstra como fazer isso em um projeto de nível de documento do Excel.

private void ThisWorkbook_Startup(object sender, System.EventArgs e)
{
    ((Excel.AppEvents_Event)this.Application).NewWorkbook += 
        new Excel.AppEvents_NewWorkbookEventHandler(ThisWorkbook_NewWorkbook);
}

void ThisWorkbook_NewWorkbook(Excel.Workbook Wb)
{
    // Perform some work here.
}

Para obter mais informações sobre interfaces de evento em que os PIAs do Office, consulte Overview of Classes and Interfaces in the Office Primary Interop Assemblies.

Não é possível referenciar Classes PIA do Office em projetos destinados a.NET Framework 4

Em projetos destinados a .NET Framework 4, o código que faz referência a uma classe que é definida em um PIA do Office não serão compilados por padrão. A convenção de nomenclatura de usar classes nos PIAs objectnamede classe, como DocumentClass e WorkbookClass. Por exemplo, o código a seguir de um projeto de suplemento do Word não serão compilados.

Dim document As Word.DocumentClass = Globals.ThisAddIn.Application.ActiveDocument
Word.DocumentClass document = (Word.DocumentClass) Globals.ThisAddIn.Application.ActiveDocument;

Esse código resulta em erros de compilação a seguir:

  • Visual Basic: "Referência à classe 'ClasseDoDocumento' não é permitida quando seu assembly está vinculado usando o modo de não-PIA."

  • C# Visual: "Interoperabilidade tipo 'Microsoft.Office.Interop.Word.DocumentClass' não pode ser incorporado. Use a interface aplicável."

Para resolver esse erro, modifique o código de referência a interface correspondente. Por exemplo, em vez de referência um DocumentClass de objeto, para fazer referência a uma instância da Document interface em vez disso.

Dim document As Word.Document = Globals.ThisAddIn.Application.ActiveDocument
Word.Document document = Globals.ThisAddIn.Application.ActiveDocument;

Projetos destinados a .NET Framework 4 automaticamente incorporar todos os tipos de interoperabilidade nos PIAs do Office por padrão. Este erro de compilação ocorre porque o recurso incorporado de tipos de interoperabilidade funciona somente com interfaces e não classes. Para obter mais informações sobre interfaces e classes de PIAs do Office, consulte Visão geral das Classes e Interfaces no Office Primary Interop Assemblies. Para obter mais informações sobre o recurso incorporado de tipos de interoperabilidade em projetos do Office, consulte Projetando e criando soluções do Office.

Referências a Classes do Office não são reconhecidas.

Algumas classes nomes, por exemplo Application, estão em vários espaços para nome como Microsoft.Office.Interop.Word e System.Windows.Forms. Por esse motivo, o Imports/using instrução na parte superior dos modelos de projeto inclui um tipo de taquigrafia qualificação constante, por exemplo:

Imports Word = Microsoft.Office.Interop.Word
using Word = Microsoft.Office.Interop.Word;

Este uso o Imports/using instrução requer a diferenciar a referências a classes do Office com o qualificador do Word ou Excel, por exemplo:

Dim doc As Word.Document
Word.Document doc;

Se você usar uma declaração não qualificada, por exemplo, você receberá erros:

Dim doc As Document  ' Class is ambiguous
Document doc;  // Class is ambiguous

Embora você tenha importado o namespace do Word ou Excel e ter acesso a todas as classes dentro dela, você deve qualificar totalmente todos os tipos com Word ou Excel para remover a ambigüidade de namespace.

Construindo projetos

Você pode encontrar os seguintes erros ao criar projetos do Office.

Não é possível construir um projeto de nível de documento baseia-se em um documento com permissões restritas

Visual Studio não é possível criar projetos de nível de documento, se o documento tem permissões restritas. Se o seu projeto contém um documento que tem permissões restritas, o projeto não será compilado e você receberá a seguinte mensagem na Error List janela.

"Falha ao adicionar a personalização."

Se você quiser incluir um documento que tem permissões restritas, use um documento irrestrito enquanto você desenvolve e compila a solução. Em seguida, aplique as permissões restritas no documento no local de publicação, depois de publicar a solução.

Erros de compilador ocorrem depois de um controle de NamedRange É excluído

Se você excluir uma NamedRange o controle de uma planilha que não seja a planilha ativa no designer, o código gerado automaticamente não pode ser removido do seu projeto e podem ocorrer erros de compilador. Para certificar-se de que o código é removido, você sempre deve selecionar a planilha que contém o NamedRange o controle para torná-lo da planilha ativa antes de excluir o controle. Se o código gerado automaticamente não é excluído quando você exclui o controle, você pode causar o designer excluir o código ativando a planilha e fazendo uma alteração, para que a planilha se torna marcada como modificadas. Quando você reconstruir o projeto, o código é removido.

Depuração de projetos

Você pode encontrar os seguintes erros ao depurar projetos do Office.

Para desinstalar aparece quando você publicar e instalar uma solução no computador de desenvolvimento

Quando você depurar uma solução Office, você pode ver o seguinte erro.

"A personalização não pode ser instalada porque outra versão instalada atualmente e não pode ser atualizado a partir deste local."

Este erro indica que você anteriormente publicado e instalado a solução do Office no seu computador de desenvolvimento. Para evitar que a mensagem apareça, desinstala a solução da lista de programas instalados no computador antes de você depurar a solução. Como alternativa, você pode criar outra conta de usuário no computador de desenvolvimento para testar a instalação da solução publicada.

Os projetos de nível de documento criados em locais de rede UNC não são executados a partir de Visual Studio

Se você criar um projeto de nível de documento para o Excel ou Word em um local de rede UNC, você deve adicionar o local do documento para a lista de locais confiáveis no Excel ou Word. Caso contrário, a personalização não será carregada quando você tenta executar ou depurar o projeto em Visual Studio. Para obter mais informações sobre locais confiáveis, consulte Concedendo confiança aos documentos.

Segmentos não são interrompidos corretamente após a depuração

Projetos do Office em Visual Studio seguem um segmento de nomeação da convenção que permite que o depurador fechar o programa corretamente. Se você criar threads em sua solução, você deve nomear cada thread com o prefixo VSTA_ para garantir que esses segmentos são manipulados corretamente quando você parar a depuração. Por exemplo, você pode definir a Name a propriedade de um thread que aguarda um evento de rede para VSTA_NetworkListener.

Não é possível executar ou depurar qualquer solução do Office no computador de desenvolvimento

Se você não pode executar ou desenvolver um projeto do Office no computador de desenvolvimento, você pode ver a seguinte mensagem de erro.

"Personalização não pôde ser carregada porque o domínio do aplicativo não pôde ser criado."

Visual Studio usa a fusão, o.NET Framework assembly carregador, cache de assemblies antes de carregar as soluções do Office. Certifique-se de Visual Studio pode gravar no cache de fusão e tente novamente. For more information, see Fazendo cópias de sombra de assemblies.

Erro ao parar o depurador em um projeto de nível de documento após usar Edit and Continue

Se você usar o Edit and Continue para fazer alterações ao código em um projeto de nível do documento para o Excel ou Word, enquanto o projeto está no modo de interrupção, você pode ver uma caixa de diálogo com a seguinte mensagem de erro se você interromper o depurador subseqüentemente.

"Encerrar o processo em seu estado atual pode causar a resultados indesejados, incluindo a perda de dados e instabilidade do sistema".

Se você clicar em Sim ou não na caixa de diálogo Visual Studio encerra o processo do Excel ou Word e pára o depurador. Para interromper a depuração do projeto sem exibir a caixa de diálogo, saia do Excel ou Word diretamente, em vez de interromper o depurador em Visual Studio.

Consulte também

Tarefas

Solucionando problemas de erros de tempo de execução em soluções do Office

Solucionando problemas de segurança de solução do Office

Conceitos

Solucionando problemas de implantação de solução do Office

Outros recursos

Solucionando problemas soluções do Office

Histórico de alterações

Date

History

Motivo

Maio de 2010

Classes de seção melhor sobre como fazer referência a PIA do Office em projetos destinados a.NET Framework 4.

Aprimoramento de informações.