Erreur HRESULT E_FAIL a été renvoyé à partir d'un appel à un composant COM
Dans Silverlight 4 application; que signifie cette erreur signifie?:
"Erreur HRESULT E_FAIL a été renvoyé à partir d'un appel à un composant COM."
C'est un très générique d'erreur. Le VS débogueur ne pointe pas à l'emplacement exact de l'erreur lors du débogage.
Vous devez vous connecter pour publier un commentaire.
C'est une vieille question, mais j'ai pensé que je donnerais ma réponse depuis que j'ai découvert ce fil par Googler pour exactement le même problème.
Dans mon cas, j'avais copié quelques exemples de XAML à partir du web pour commencer avec Silverlight Toolkit 4. Cet échantillon XAML contenait un simple bouton avec un gestionnaire d'événements click qui ne se rapportent pas à un gestionnaire qui existait en réalité dans mon code derrière. Je n'ai pas remarqué ce problème simple au premier abord, parce que le compilateur ne me donne pas un message d'erreur, je viens de voir le message "Erreur HRESULT E_FAIL a été renvoyé à partir d'un appel à un composant COM" message ci-dessus au moment de l'exécution. C'est seulement quand j'ai isolé mon exemple de code XAML en le copiant dans une marque nouvelle application Silverlight, sans autre contenu que le vrai problème sous-jacent a été révélé au moment de la compilation.
Donc, si vous avez le même message d'erreur lors de l'exécution, mon conseil est de vérifier votre XAML avec soin pour toutes les erreurs que vous aviez prévu doit avoir été ramassé au moment de la compilation, mais qui finit comme l'erreur d'exécution indiqué ci-dessus. Afin de débogage, vous pouvez faire ce que j'ai fait et d'isoler le code qui est la cause de l'erreur dans un standalone application Silverlight avec aucune autre contenu, et de voir si, comme moi, vous obtenez plus de message d'erreur utile pour vous guider.
HTH.
Il existe de nombreuses solutions, mais c'est la seule solution qui a travaillé à plusieurs reprises pour moi.Il a été essayé sur VS2012 VS2013 et VS2015, je trouve qu'il fonctionne tout aussi bien pour tous.Simplement suivre les étapes suivantes pour résoudre ce problème
Étape 1 : Fermez Visual Studio
Étape 2 : Supprimer *.csproj.l'utilisateur et *.suo fichiers
Étape 3 : Rouvrir VS, et essayez de lancer le projet de nouveau en mode de débogage.
Dans ma situation:
- Je créer un
Par défaut, la classe n'est pas public et XAML ne peut pas le charger et de le jeter exception
Il suffit de changer le champ d'application de classe public et de l'erreur disparaît.
Espérons que cette aide.
PS. Microsoft devrait fournir plus d'information que de simplement jeter un mystère message d'erreur, sans aucune trace de la pile.
J'ai aussi eu cette erreur et j'ai constaté que ce problème est lié à ne pas avoir ajouté tous obligatoires assemblées à votre projet. Dans mon cas, j'ai été en utilisant un UserControl avec un depency avec le Silverlight Toolkit et je n'ai pas ajouté cette référence.
J'ai juste ajouté de la référence et de tout résolu 🙂
J'ai eu cette erreur en utilisant le courant SL4 Telerik controls. Une question similaire a été signalé ici avec une solution ... de toutes sortes. Le problème semble être le moyen d'Expression Blend gère le cache de contrôles.
Voici un moyen pour générer cette erreur, que je suis tombé sur aujourd'hui. Nous avons le bouton suivant dans le code XAML:
Le gestionnaire d'événements qui gère le bouton de
Click
événement est comme suit:Quand je clique sur le bouton je reçois l'erreur susmentionnée. La même erreur se produit si je remplace
NaN
avecPositiveInfinity
ouNegativeInfinity
.Il est intéressant de noter, je reçois un autre message d'erreur si le premier paramètre de la
Thickness
constructeur contient lesNaN
au lieu de la seconde.J'ai eu cette erreur de problèmes avec XAML. La chose étrange est que j'ai eu une absence de ressources utilisées par
Style
etMargin
attributs - ce qui signifie que l'app fonctionne très bien, et même resharper seuls les rapports de "conseil".Une fois que j'ai effacé les problèmes de mon "Erreur HRESULT E_FAIL a été renvoyé à partir d'un appel à un composant COM." a disparu. Comme d'autres l'ont dit, c'est une vague d'erreur, très difficile à déboguer. Dans ce cas, j'ai hérité d'un grand projet avec 100 de VS et ReSharper messages avec divers degrés de gravité - manque
StaticResource
surStyle
attributs n'ont pas été le premier endroit que j'ai vérifié!J'ai eu cette erreur dans mon code xaml de la page et il n'y avait pas d'erreurs de syntaxe. Nettoyage et re-construire le projet a résolu mon problème. pour info...
Le Pool d'applications IIS a utiliser un compte qui dispose d'une requête d'accès à la Team Foundation Server. Cette solution résout le problème pour moi.
La plupart de la raison de ce problème de la dépendance des possédants sur la conception des composants.
Vous avez juste face à ce problème sur le design.
Soulution est facile, mais prend du temps 🙂 Nettoyage de projet et de tout reconstruire. Lorsque vous entrez dans le desing de nouveau, vous devriez voir tout va bien!
J'espère que cela aide!
Si vous voyez cette exception récemment, veuillez essayer de ré-installer silverlight sdk4.
C'est une sécurité et des autorisations d'émettre. Regarder dans l'IIS et assurez-vous que la Sécurité Intégrée est SUR. Ensuite, réglez l'Application de la Protection à un niveau Moyen (S'il est élevé alors ce pourrait être le résultat). Ensuite, vérifiez votre site Web.Fichier de configuration. Assurez-vous que l'usurpation d'identité est à l'arrêt.
Cela devrait aider.
J'ai eu ce problème alors que j'étais à l'encodage vidéo et audio en Direct (à l'aide de Microsoft Expression) et le prochain morceau de code lève l'exception au hasard:
jusqu'à ce que j'ai compris que la deuxième ligne lève l'exception, tandis que le premier est toujours en cours d'exécution dans un autre thread !
et bien sûr, c'était de ma faute, j'ai appelé la méthode dans le code, et il a également été appelé par Cliquez sur l'événement...
J'ai eu cette exception et s'est fâché. Je vous conseille de vérifier si vous avez eu récemment installé une composante de possible conflit d'espace de noms des éléments. Dans mon cas, j'ai installé le windows phone trousse à outils qui avait des éléments qui ont été nommés de la même façon avec les actions trousse d'outils sur windows phone.
Dès que possible, j'ai désinstallé ce à partir du gestionnaire de package Nuget, tout est revenu à la normale.
Voici ce que FINALEMENT résolu ce problème pour nous, lorsque vous essayez d'utiliser MICROSOFT.TEAMFOUNDATION de la bibliothèque lors de l'interrogation de Team Foundation Server:
DTC config ----
J'espère que cette aide.
Mon problème était un manque de Style. J'avais remplacé un modèle de contrôle avec une brosse et de la sorte:
et manquait ma définition de MyCustomBrush, comme suit:
et puis BOOM, l'app n'a pas de démarrage et j'ai obtenu une COM message d'erreur.
Bien, j'étais presque d'aller manger mon ordinateur..
Enfin, je trouve le problème est que j'ai PEUT-être PAR ACCIDENT retiré un paramètre d'une Marge de réglage de l'Image de l'objet dans le code XAML de la page, orz..
qui devrait être
Évidemment, je n'ai pas réalisé que j'ai jamais modifié quoi que ce soit de la XAML, j'ai été dépannage le code derrière pour "un peu de temps"..
Heureusement, j'ai trouvé ce post et tout revérifié inclure le code XAML de la page.. c'était ... quelque chose...
Pour moi, j'ai rétréci vers le bas à un SplitButton de contrôle que j'ai téléchargé sur le site CodePlex il y a des siècles. J'avais mis à jour la solution de Silverlight 4 à Silverlight 5 et a obtenu claqué avec cette erreur. J'ai été capable de le réduire en commentant le code XAML pour toutes les commandes, puis retirée en arrière dans un par un jusqu'à ce que l'erreur est parue nouveau:
Qu'est-ce résolu, c'était de supprimer manuellement le obsolète Système de références.De Windows.De contrôle et du Système.De Windows.Les contrôles.Trousse à outils puis re-ajout de Silverlight 5 dossier SDK.
Espère que cela aide quelqu'un (et m'aide!) si cela se produit à nouveau quelques mois en bas de la route.
J'ai reçu cette erreur récemment dans VS 2013 pour une Silverlight 5 projet. Aucun des ci-dessus a fonctionné pour moi. Curieusement, il était un filetage problème (normalement, je suis habitué à une exception qui explique cela, si je suis en train de créer UIElements sur un thread d'arrière-plan par erreur).
Habillage de mon code qui ajoute UIElements pour la page d'accueil avec l'expéditeur.BeginInvoke résolu le problème:
La plupart du temps il est difficile de voir exactement où le problème se trouve surtout dans le code XAML.
Une autre manière de trouver où son défaut est d'effectuer les étapes suivantes
À ce point dans le temps, vous avez deux options,
Cliquez sur Afficher les détails de l'exception de l'écran affiché. Creuser dans
l'intérieur exceptions, jusqu'à ce que vous obtenez une idée de où son
originaires.
Afficher la pile des appels de voir quel code de ligne de votre cause
cette exception. Cela permettra de fournir des indices pour résoudre le problème.
Pour moi, c'était une XAML erreur d'analyse. Dans un modèle de données, j'ai eu un extra S entre deux balises (probablement parce que j'ai appuyé sur S au lieu de CTRL+S). Par exemple...
Donc, je vous suggère de regarder pour mal formaté en XML dans le point de vue que les causes de cette exception lors de l'affichage.
Cette erreur semble être un "fourre-tout" pour les erreurs qui, autrement, ne sont pas donné une définition spécifique ou de traçage, en particulier ceux ayant à faire avec relativement externe code Xaml.
Dans mon cas particulier, il semble y avoir un problème avec les espaces de noms. Mon UserControl est dans son propre espace de noms (de façon créative nommé "UserControls"). Mes Pages sont dans leur propre espace de noms ("Pages"). Je voulais faire référence à un enum définition dans les Pages de l'espace de noms de l'intérieur de mon UserControl, donc j'ai simplement ajouté une instruction d'utilisation:
using MySolution.Pages;
. Assez Trivial, et je ne voulais pas croire que c'était le problème. Mais quand j'ai enlevé qu'à l'aide de déclaration et simplement créé enum dans mon UserControls espace de noms, voila, pas plus d'erreur HRESULT et aussi, comme un bonus supplémentaire, ma dépendance des propriétés définies dans le contrôle UserControl, qui, autrement, ont été mystérieusement ne s'affiche pas dans le code Xaml intellisense, soudain étaient là et prêt à l'utilisation.Je soupçonne que la cause sous-jacente de ce qui dans mon cas était une sorte de problème de référence circulaire. Et puisqu'il n'y a pas d'erreur plus spécifique disponible à rapporter cette information pour moi, il a simplement obtenu mélangée dans ce HRESULT E_FAIL Com erreur.
J'ai corrigé cette erreur en supprimant le fichier XAML et en ajouter un nouveau à partir d'ajouter un nouvel élément. Puis j'ai collé le code XAML de codes qu'il y avait dans l'ancien fichier.
Dans mon cas, lorsque j'ai essayé d'importer la base de données dans la SSDT projet, mais cette base de données était déjà en projet, mais il était vide. J'ai juste mis à jour avec mon projet
Tools -> SQL server -> New schema comparsion
. La Source de base de données, la cible du projet. Comparez - la mise à jour.Espère que cela aide à quelqu'un
C'est une vieille question, mais dans mon cas, aucune des deux solutions n'a fonctionné. J'ai essayé de mettre à jour les packages NuGet dans Visual Studio 2017, mais je commençais à l'Exception suivante.
En fait, d'autres NuGet des commandes comme: restauration-paquet n'avaient pas de similaires message d'exception.
J'ai découvert quelques assemblées ont disparus dans le répertoire packages donc je supprimé le répertoire packages et retourné à l'Visual Studio 2017. Quand j'ai ouvert le de la solution, il m'a demandé de restaurer les paquets et après, j'ai été en mesure de mettre à jour les packages.