Je suis à la recherche d'une erreur de chargement/liaison d'assemblage qui s'est produite récemment. Au cours de mon enquête, j'ai trouvé une contradiction confuse (en supposant que j'analyse correctement le journal de fusion).Erreur de liaison d'assemblage - erreur de fusion du journal de fusion et du navigateur de dépendances
L'exception qui est levée par ma demande à états de démarrage:
{ "Impossible de charger le fichier ou l'assembly « Microsoft.Practices.CompositeUI, Version = 1.0.51205.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35 'ou l'une de ses dépendances La définition du manifeste de l'assembly localisé ne correspond pas à la référence d'assembly (Exception de HRESULT: 0x80131040) ":" Microsoft.Practices.CompositeUI, Version = 1.0.51205.0, Culture = Neutre, PublicKeyToken = 31bf3856ad364e35 "}
Certaines modifications de projet récentes que j'ai apportées ne devraient pas nécessiter l'assembly fortement nommé "Microsoft.Practices.CompositeUI". Après avoir confirmé que tous mes projets de solutions se réfèrent effectivement aux assemblages non signés, j'ai alors lancé un dependency browser pour m'assurer que je ne manquais de rien. Tout a été vérifié et j'ai confirmé que je n'avais pas de "vieilles" références aux anciennes assemblées. Bien sûr, j'ai aussi nettoyé et reconstruit mon projet. J'ai ensuite recherché plus loin et mis le feu à la visionneuse du journal de fusion (Fuslogvw.exe) et l'ai configuré pour afficher les erreurs de liaison. J'ai regardé le journal et trouvé l'erreur de liaison. Le journal de détail est où la confusion commence; il liste le "Calling Assembly" comme un assembly qui n'a pas de liaisons (que je peux déterminer) à l'assemblage manquant. Ah, c'est difficile à expliquer. Voici le journal:
* Assemblée Binder entrée du journal (11/15/2010 @ 19:00:18) *
L'opération a échoué.
Résultat de liaison: hr = 0x80131040. Pas de description disponible.
gestionnaire Assemblée chargé de: C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ mscorwks.dll Fonctionnant sous exécutable C: \ Program Files \ VPM \ Office App \ 1.1.1.7 \ OfficeApp.exe
--- Un journal d'erreur détaillé suit.
informations === état de pré-bind ===
LOG: Utilisateur = PMD \ sklett
LOG: DisplayName = Microsoft.Practices.CompositeUI, Version = 1.0.51205.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35 (entièrement spécifié)
LOG: appbase = file: /// C:/Program Files/VPM/Bureau App/1.1.1.7/
LOG: initial privatePath = NULL
LOG: Dynamic Base = NULL
LOG: Base de cache = null
LOG: AppName = OfficeApp.exe
appel montage: Microsoft.Practices.EnterpriseLibrary.Common, Version = 4.1.0.0, Culture = neutre, PublicKeyToken = 31bf3856ad364e35.
===
LOG: Cette liaison commence dans le contexte de charge par défaut.
LOG: en utilisant le fichier de configuration de l'application: C: \ Program Files \ VPM \ Office App \ 1.1.1.7 \ OfficeApp.exe.config
LOG: en utilisant le fichier de configuration de la machine à partir de C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ config \ machine.config.
LOG: Référence post-politique: Microsoft.Practices.CompositeUI, Version = 1.0.51205.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35
LOG: GAC de recherche n'a pas abouti. JOURNAL: Tentative de téléchargement du nouveau fichier URL: /// C:/Program Files/PMT/Office App/1.1.1.7/Microsoft.Practices.CompositeUI.DLL.
LOG: le téléchargement de l'assembly a réussi. Tentative d'installation du fichier: C: \ Program Files \ PMT \ Office App \ 1.1.1.7 \ Microsoft.Practices.CompositeUI.dll
LOG: Saisie de la phase de configuration de l'exécution à partir de la source.
LOG: Nom de l'assembly est: Microsoft.Practices.CompositeUI, Version = 1.0.51205.0, Culture = neutral, PublicKeyToken = null
WRN: comparaison entre le nom de l'ensemble a donné lieu à la non-concordance: PUBLIC TOKEN KEY
ERR: La référence d'assembly ne correspondait pas à la définition d'assembly trouvée. ERR: Echec de l'achèvement de l'installation de l'ensemble (hr = 0x80131040). Sondage terminé.
Maintenant, l'assemblée d'appel « Microsoft.Practices.EnterpriseLibrary.Common » n'a pas de liste des dépendances (via un navigateur de dépendance) à « Microsoft.Practices.CompositeUI ». Non seulement cela, mais il ne devrait pas en avoir. Le journal de fusion m'a arrêté dans mes traces, le journal de fusion a conduit à CONfusion! ; 0)
Espérons que j'ai fourni suffisamment d'informations pour un expert sage pour me dire ce qui me manque.
Pourquoi ne pensez-vous pas avoir une référence de nom fort à Microsoft.Practices.CompositeUI? L'avez-vous recompilé vous-même sans SNK et changez toutes vos références de projet? – Jeff
En outre, je ne suppose pas que vous avez une copie nommée forte de Microsoft.Practices.CompositeUI dans votre GAC? – Jeff
@ JeffN825 - "L'avez-vous recompilé vous-même sans SNK et changez toutes vos références de projet?" Oui, c'est exactement ce que j'ai fait. J'ai également vérifié le GAC (gacutil -l) et il n'y a pas d'assembly P & P listés. –