Erro: As referências de projeto são geradas novamente quando você adiciona uma referência a um controle ActiveX do Visual Studio .NET

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: 820643
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
Sintomas
Quando você adicionar uma referência a um proxy de tempo de execução de linguagem comuns para os tipos COM (Component Object Model) que estão presentes em uma biblioteca de tipo de controle ActiveX no Visual Studio. NET, e em seguida, você adicionar uma referência para o controle ActiveX correspondente, você observe que o proxy de tempo de execução de linguagem comuns é regenerado e, em seguida, adicionado como uma nova referência de projeto. Por exemplo, se você já tem uma referência de projeto para SHDocVw.dll e a referência é denominada SHDocVw, um proxy de tempo de execução idioma comum que é chamado Interop.SHDocVw.dll é criado e, em seguida, adicionado como uma referência de projeto é denominada SHDocVw1. Você percebe o comportamento mesmo quando você adiciona o controle ActiveX mencionado anteriormente a partir da caixa de ferramentas para um formulário ou para um controle de usuário.

Além disso, quando você adicionar uma referência a um proxy de Windows Forms para um controle ActiveX, e em seguida, você adicionar o controle ActiveX da caixa de ferramentas para um formulário ou a um controle de usuário, observe que o proxy de Windows Forms é regenerado e, em seguida, adicionado como uma nova referência de projeto. Por exemplo, se você já tem uma referência de projeto para AxSHDocVw.dll e a referência é denominada AxSHDocVw, um proxy de Windows Forms é chamado AxInterop.SHDocVw.dll é criado e, em seguida, adicionado como uma referência de projeto é denominada AxSHDocVw1.
Causa
Adicione uma referência no Visual Studio .NET para um proxy de tempo de execução de idioma comum ou um proxy de Windows Forms. Em seguida, adicione uma referência para o controle ActiveX correspondente ou adicionar o controle ActiveX da caixa de ferramentas para um formulário ou para um controle de usuário. No entanto, as referências de projeto correspondente já existem. O problema ocorre, em seguida, porque o Visual Studio .NET não reconhece as referências de projeto existente. O Visual Studio .NET incorretamente tenta gerar novamente e adicionar essas referências de projeto. Isso faz com que o comportamento descrito na seção "Sintomas".

Observação Você não perceber esse comportamento se você tiver uma referência de projeto para um proxy de tempo de execução de linguagem comuns ou para um proxy de Windows Forms é criado quando você adicionar uma referência a um controle ActiveX ou quando você adiciona um ActiveX controle da caixa de ferramentas para um formulário ou para um controle de usuário. Esses arquivos de proxy normalmente têm nomes arquivo como Interop.SHDocVw.dll e AxInterop.SHDocVw.dll. Você também pode criar proxies usando o .NET Framework ferramentas como Type Library Importer (Tlbimp.exe) e importador do controle ActiveX do Windows Forms (aximp.exe). Proxies que são criados por ferramentas mencionadas anteriormente têm nomes de arquivo, como SHDocVw.dll e AxSHDocVw.dll.
Situação
A Microsoft confirmou que esse é um problema nos produtos da Microsoft listados no começo deste artigo.
Mais Informações

Etapas para reproduzir o problema

  1. Execute o Visual Studio .NET. Mover para o prompt de comando.
  2. No prompt de comando Visual Studio. NET, altere o caminho diretório do local da pasta Temp. Normalmente você pode encontrar o diretório TEMP no seguinte local:

    \Local Settings\Temp C:\Documents and Settings\ User Name

    Observação User Name é um espaço reservado para seu nome de usuário. Embora você pode usar outros diretórios como seu diretório de trabalho, você não deve usar a pasta Documents and Settings se você usar SHDocVw.dll. Para obter mais informações sobre importador do controle ActiveX do Windows Forms (aximp.exe), visite o seguinte site:

    http://msdn2.microsoft.com/en-us/library/8ccdh774(vs.71).aspx
  3. Executar o comando a seguir do Visual Studio .NET prompt de comando e crie um proxy de tempo de execução de linguagem comuns (SHDocVw.dll) e um proxy de Windows Forms (AxSHDocVw.dll) para o Microsoft Web Browser controle:

    aximp %WINDIR% \system32\shdocvw.dll

    Observação O espaço reservado, %WINDIR%, é o espaço reservado para o caminho do diretório do Microsoft Windows.
  4. Execute o Visual Studio .NET.
  5. Crie um aplicativo do Microsoft Windows. Nome deste aplicativo RegenProjRefs .

    Por padrão, é criado o Form1.

    Você pode usar Visual Basic .NET ou Visual translation from VPE for Csharp .NET.
  6. No menu Project , clique em Adicionar referência .
  7. Na caixa de diálogo Add Reference , clique em Procurar .
  8. Localize e selecione AxSHDocVw.dll arquivo e o arquivo SHDocVw.dll que você criou na etapa 3. Clique em Abrir .
  9. Clique em OK para adicionar referências de projeto para esses dois arquivos para RegenProjRefs.
  10. No Visual Studio .NET 2003, clique em Adicionar ou remover itens da caixa de ferramentas no menu Ferramentas .

    No Visual Studio .NET 2002, clique em Personalizar caixa de ferramentas no menu Ferramentas .
  11. Na caixa de diálogo Personalizar caixa de ferramentas , clique na guia COM Components .
  12. Clique para selecionar o Microsoft Web Browser caixa de seleção e, em seguida, clique em OK .

    O Visual Studio .NET 2003 adiciona Microsoft Web Browser a caixa de ferramentas.

    Visual Studio .NET 2002 adiciona Explorer para a caixa de ferramentas.
  13. No Visual Studio .NET 2003, arraste Microsoft Web Browser da Toolbox para Form1.

    No Visual Studio .NET 2002, arraste o Explorer do Toolbox para Form1.

    Você percebe o comportamento mencionado na seção "Sintomas".
Referências
Para obter mais informações sobre referências de projeto, controles ActiveX e a caixa de diálogo Personalizar caixa de ferramentas, visite os seguintes sites:

http://msdn2.microsoft.com/en-us/library/ez524kew(vs.71).aspx

http://msdn2.microsoft.com/en-us/library/ms968501.aspx

http://msdn2.microsoft.com/en-us/library/dyca0t6t(vs.71).aspx

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 820643 - Última Revisão: 12/08/2015 02:42:50 - Revisão: 1.6

Microsoft Visual Studio .NET 2003 Professional Edition, Microsoft Visual Studio .NET 2003 Enterprise Architect, Microsoft Visual Studio .NET 2003 Enterprise Developer, Microsoft Visual Studio .NET 2003 Academic Edition, Microsoft Visual Studio .NET 2002 Professional Edition, Microsoft Visual Studio .NET 2002 Enterprise Architect, Microsoft Visual Studio .NET 2002 Enterprise Developer, Microsoft Visual Studio .NET 2002 Academic Edition, Microsoft Visual Basic .NET 2003 Standard Edition, Microsoft Visual Basic .NET 2002 Standard Edition, Microsoft Visual C# .NET 2003 Standard Edition, Microsoft Visual C# .NET 2002 Standard Edition

  • kbnosurvey kbarchive kbmt kbvs2005doesnotapply kbvs2005swept kbvs2002sp1sweep kbinterop kbcommandline kbide kbcmndlg kbmisctools kbdeployment kbconfig kbctrl kbcontrol kbforms kbwindowsforms kbbug KB820643 KbMtpt
Comentários