CORRECTIF : Vous pouvez rencontrer divers problèmes lorsque vous essayez de générer des informations de bibliothèque de type à l’aide de l’assembly Microsoft.VisualStudio.Shell.Interop.dll dans Visual Studio 2008


Symptômes


Lorsque vous essayez de générer des informations de bibliothèque de type à l’aide de l’assembly Microsoft.VisualStudio.Shell.Interop.dll dans Microsoft Visual Studio 2008, vous pouvez rencontrer un des problèmes suivants.

Symptôme 1

Lorsque vous utilisez l’utilitaire Regasm.exe pour générer et inscrire une bibliothèque de types, vous pouvez recevoir le message d’erreur suivant :
RegAsm : erreur RA000 : exportateur de bibliothèque de types a rencontré une erreur lors du traitement de « Microsoft.VisualStudio.Shell.Interop.SVsSolutionObject Microsoft.VisualStudio.Shell.Interop ». Erreur : Tapez 'SVsSolutionObject' et 'SVsSolution' ont tous les deux le même UUID.

Symptôme 2

Lorsque vous utilisez l’utilitaire TlbExp.exe pour générer une bibliothèque de types, vous pouvez recevoir le message d’erreur suivant :
TlbExp : erreur TX0000 : exportateur de bibliothèque de types a rencontré une erreur lors du traitement de 'Microsoft.VisualStudio.Shell.Interop.SVsSolutionObject Microsoft.VisualStudio.Shell.Interop'. Erreur : Tapez 'SVsSolutionObject' et 'SVsSolution' ont tous les deux le même UUID.


Symptôme 3

Un package Visual Studio 2008 implémente un ensemble de propriétés qui est exposé par la propriété EnvDTE.DTE.Properties . Si la collection est un membre d’un objet qui utilise un type dans l’assembly Microsoft.VisualStudio.Shell.Interop.dll , le common language runtime (CLR) ne va pas créer la bibliothèque de types de mémoire nécessaire pour l’assembly. Par exemple, la macro suivante de Visual Studio qui fait référence à la propriété EnvDTE.DTE.Properties échouera, et puis, vous recevrez un message d’erreur.

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

Cause


Ce problème se produit car l’attribut ImportedFromTypelib est supprimée à partir de l’assembly Microsoft.VisualStudio.Shell.Interop.dll dans Visual Studio 2008. L’attribut ImportedFromTypelib est supprimé car cet assembly ne dispose pas d’une bibliothèque de types associée. Par conséquent, l’attribut ImportedFromTypelib provoque des échecs lorsque le CLR tente de trouver une bibliothèque de types associée.


Étant donné que l’attribut ImportedFromTypelib a été supprimée dans Visual Studio 2008, le CLR ne peut pas construire la bibliothèque de types de mémoire nécessaire pour l’assembly Microsoft.VisualStudio.Shell.Interop.dll . Cet échec est dû par le GUID de type en double.

Résolution


Informations sur le correctif



Un correctif pris en charge est disponible auprès de Microsoft. Toutefois, ce correctif vise à corriger uniquement le problème décrit dans cet article. Appliquez ce correctif uniquement aux systèmes rencontrant ce problème spécifique. Ce correctif va peut-être subir des tests supplémentaires. Par conséquent, si vous n'êtes pas sérieusement concerné par ce problème, nous vous recommandons d'attendre la prochaine mise à jour logicielle qui contiendra ce correctif.

Pour télécharger ce correctif depuis MSDN Code Gallery, visitez le site Web de Microsoft à l’adresse suivante :


Remarque MSDN Code Gallery affiche les langues pour lesquelles ce correctif est disponible. Si vous ne voyez pas votre langue, c'est certainement dû au fait que la page de ressource Code Gallery n'existe pas dans cette langue.


Remarque Si des problèmes supplémentaires se produisent ou si des procédures de dépannage sont nécessaires, vous devrez peut-être formuler une demande de service distincte. Les coûts habituels du support technique s'appliqueront aux questions et problèmes qui ne relèvent pas de ce correctif logiciel. Pour une liste complète des numéros de téléphone du Service clientèle et support technique de Microsoft ou pour créer une demande de service distincte, visitez le site Web de Microsoft à l'adresse suivante :

Conditions préalables

Vous devez disposer de Visual Studio 2008 installé pour appliquer ce correctif.

Nécessite un redémarrage

Vous n’êtes pas obligé de redémarrer l’ordinateur après avoir appliqué ce correctif.

Informations de remplacement du correctif

Ce correctif ne remplace pas un correctif précédemment publié.

Informations sur les fichiers

La version anglaise de ce correctif dispose des attributs de fichier (ou version ultérieure) répertoriés dans le tableau suivant. Les dates et heures de ces fichiers sont répertoriées en temps universel coordonné (UTC). Lorsque vous affichez les informations de fichier, elles sont converties en heure locale. Pour trouver la différence entre l’UTC et l’heure locale, utilisez l’onglet fuseau horaire dans l’élément de Date et heure dans le panneau de configuration.
Nom de fichierVersion de fichierTaille du fichierDateHeurePlateforme
Microsoft.VisualStudio.Shell.Interop.dll7.10.6071.025915207-Jan-200815:37x86

État


Microsoft a confirmé l'existence de ce problème dans les produits Microsoft répertoriés dans la section « S'applique à ».

Plus d'informations


Ce correctif marque tous les GUID dupliqués en définissant la valeur de la propriété ComVisible false afin que le Générateur de bibliothèque de type ignore les GUID dupliqués.

Pour plus d'informations sur la terminologie de mise à jour logicielle, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
Description 824684 terminologie standard utilisée pour décrire les mises à jour logicielles de Microsoft