Sintomas

Quando tenta gerar informações de biblioteca de tipo utilizando a assemblagem de Microsoft.VisualStudio.Shell.Interop.dll no Microsoft Visual Studio 2008, poderá detectar um dos seguintes sintomas.

Sintoma 1

Quando utiliza o utilitário Regasm.exe para gerar e para registar uma biblioteca de tipos, poderá receber a seguinte mensagem de erro:

RegAsm: erro RA000: o exportador de bibliotecas encontrou um erro ao processar "Microsoft.VisualStudio.Shell.Interop.SVsSolutionObject, Microsoft.VisualStudio.Shell.Interop". Erro: Escreva 'SVsSolutionObject' e 'SVsSolution' ambas têm o mesmo UUID.

Sintoma 2

Quando utilizar o utilitário de TlbExp.exe para gerar uma biblioteca de tipos, poderá receber a seguinte mensagem de erro:

TlbExp: erro TX0000: o exportador de biblioteca de tipos encontrou um erro ao processar 'Microsoft.VisualStudio.Shell.Interop.SVsSolutionObject, Microsoft.VisualStudio.Shell.Interop'. Erro: Escreva 'SVsSolutionObject' e 'SVsSolution' ambas têm o mesmo UUID.

Sintoma 3

Um pacote do Visual Studio 2008 implementa uma colecção de propriedades é exposta pela propriedade EnvDTE.DTE.Properties . Se a colecção é um membro de um objecto que utiliza um tipo a partir da assemblagem de Microsoft.VisualStudio.Shell.Interop.dll , o common language runtime (CLR) não criará a biblioteca de tipos de memória necessária para a assemblagem. Por exemplo, a seguinte macro do Visual Studio que referencia a propriedade EnvDTE.DTE.Properties falhará e, em seguida, irá receber uma mensagem de erro.

Dim proj As Project = DTE.Solution.Projects.Item(1)   Dim props As Properties = proj.ConfigurationManager.ActiveConfiguration.Properties

Causa

Este problema ocorre porque o atributo ImportedFromTypelib é removido a partir da assemblagem de Microsoft.VisualStudio.Shell.Interop.dll no Visual Studio 2008. O atributo ImportedFromTypelib é removido porque esta assemblagem não tem uma biblioteca de tipo associado. Por conseguinte, o atributo ImportedFromTypelib provoca falhas quando o CLR tenta localizar uma biblioteca de tipo associado.Porque foi removido o atributo ImportedFromTypelib no Visual Studio 2008, o CLR não é possível construir a biblioteca de tipos de memória necessária para a assemblagem de Microsoft.VisualStudio.Shell.Interop.dll . Esta falha é causada por GUIDs de tipo duplicado.

Resolução

Informações sobre correção

Existe uma correção suportada pela Microsoft. No entanto, esta correção destina-se apenas a corrigir o problema descrito neste artigo. Aplique esta correcção apenas em sistemas que tenham este problema específico. Esta correcção poderá ser submetida a testes adicionais. Por conseguinte, se não estiver a ser gravemente afetado por este problema, recomendamos que aguarde pela próxima atualização de software que contenha esta correção.Para transferir esta correcção a partir da Galeria de códigos MSDN, visite o seguinte Web site da Microsoft:

http://code.msdn.microsoft.com/KB946308 Nota Galeria de códigos MSDN apresenta os idiomas nos quais a correcção está disponível. Se não vir o idioma listado, é porque a página de recursos da Galeria de códigos não está disponível para esse idioma.Nota Caso ocorram problemas adicionais ou se for necessária a resolução de problemas, poderá ter de criar um pedido de assistência separado. Os custos de normais do suporte serão aplicados a questões de suporte adicional e problemas incluídos nesta correção específica. Para uma lista completa dos números de telefone de suporte e serviço de cliente da Microsoft ou para criar um pedido de assistência separado, visite o seguinte Web site da Microsoft:

http://support.microsoft.com/contactus/?ws=support

Pré-requisitos

Tem de ter o Visual Studio 2008 instalado para aplicar esta correcção.

Requisito de reinício

Não é necessário reiniciar o computador depois de aplicar esta correcção.

Informações sobre substituição da correção

Esta correção não substitui uma correção disponibilizada anteriormente.

Informações de ficheiro

A versão inglesa desta correcção tem os atributos de ficheiro (ou atributos de ficheiro posteriores) listados na seguinte tabela. As datas e horas destes ficheiros são listadas na hora Universal Coordenada (UTC). Quando visualiza as informações do ficheiro, é convertido para a hora local. Para determinar a diferença entre a UTC e a hora local, utilize o separador Fuso horário no item data e hora no painel de controlo.

Nome do ficheiro

Versão do ficheiro

Tamanho do ficheiro

Data

Hora

Plataforma

Microsoft.VisualStudio.Shell.Interop.dll

7.10.6071.0

259152

07-Jan-2008

15:37

x86

Estado

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na secção "Aplica-se a".

Mais informações

Esta correcção marca os GUIDs duplicados, definindo o valor da propriedade ComVisible como false para que o gerador de biblioteca de tipo irá ignorar os GUIDs duplicados.Para mais informações sobre a terminologia de atualização de software, clique no seguinte número de artigo para visualizar o artigo na Base de Dados de Conhecimento Microsoft:

824684 descrição da terminologia padrão utilizada para descrever actualizações de software da Microsoft

Precisa de mais ajuda?

Quer mais opções?

Explore os benefícios da subscrição, navegue em cursos de formação, saiba como proteger o seu dispositivo e muito mais.

As comunidades ajudam-no a colocar e a responder perguntas, a dar feedback e a ouvir especialistas com conhecimentos abrangentes.