Erreur d'exécution: impossible de charger le fichier ou l'assembly - Modules avec différents types de processeurs ont été trouvés

J'obtiens l'erreur d'exécution suivant dans mon service WCF.

Could not load file or assembly 'MyAssembly, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.

Après certains en regardant autour, j'ai trouvé une suggestion pour l'utilisation Assemblée De Liaison De La Visionneuse Du Journal, ou Le Moniteur De Processus. Ni ou qui produit de l'information (qui est, le visualiseur de journaux ne montrait rien du tout, et le processus de la visionneuse de ne pas voir l'assemblée de la charge d'être tentée.

Je suis finalement tombé sur une suggestion d'utiliser cet utilitaire (dependency walker) pour trouver ce que l'assemblée a été la recherche de. À l'ouverture, j'ai eu immédiatement une erreur; et le journal a déclaré ce qui suit:

Erreur: Modules avec différents types de processeurs ont été trouvés.
Attention: Au moins un retard-charge de la dépendance du module n'a pas été trouvé.
Attention: Au moins un module a un suspens à l'importation en raison d'un manque de fonction d'exportation dans un délai-dépendante de la charge du module.

Error: Modules with different CPU types were found.
Warning: At least one delay-load dependency module was not found.
Warning: At least one module has an unresolved import due to a missing export function in a delay-load dependent module.

Selon la liste des modules, il ne pouvait pas trouver ces:

API-MS-WIN-CORE-COM-L1-1-0.DLL
API-MS-WIN-CORE-WINRT-ERROR-L1-1-0.DLL
API-MS-WIN-CORE-WINRT-L1-1-0.DLL
API-MS-WIN-CORE-WINRT-ROBUFFER-L1-1-0.DLL
API-MS-WIN-CORE-WINRT-STRING-L1-1-0.DLL
API-MS-WIN-SHCORE-SCALING-L1-1-0.DLL
DCOMP.DLL
IESHIMS.DLL

Certains de ceux-ci ressemblent ils se rapportent à la RT cadre; cependant, cette application a été développée dans .NET 3.5 (en fait, ce n'est pas strictement vrai - il a été développé en 4.5 et déclassé à 3,5).

En regardant certains de ces fichiers semble impliquer qu'ils sont tout à fait fondamentales de fichiers de Windows, et bizarrement, j'ai utilisé cette dll ailleurs dans la solution (certes sur le client) sans problème.

Je suis en utilisant VS2013 bien que j'ai essayé de VS2012 et obtenir le même problème.

Je l'ai fait venir à travers cette question qui, à première vue, semble être le même, bien qu'il se rapporte à C++.

Quelqu'un peut-il me donner quelques indications sur ce que le problème pourrait être, ou de ce à essayer ensuite?

Voici mon fusion journal:

=== Pre-bind state information ===
LOG: DisplayName = MyAssembly.MyLib.XmlSerializers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null, processorArchitecture=MSIL (Fully-specified)
LOG: Appbase = file:///c:/myprog/bin/Debug/
LOG: Initial PrivatePath = NULL
LOG: Dynamic Base = NULL
LOG: Cache Base = NULL
LOG: AppName = myprog.exe
Calling assembly : System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089.
===
LOG: This bind starts in default load context.
LOG: Using application configuration file: c:\myprog\bin\Debug\myprog.exe.config
LOG: Using host configuration file: 
LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework64\v4.0.30319\config\machine.config.
LOG: Policy not being applied to reference at this time (private, custom, partial, or location-based assembly bind).

J'ai réussi à réduire la bibliothèque en question jusqu'à ce qu'elle était juste une seule fonction statique qui retourne une chaîne de caractères, et l'erreur persiste.

Dependency Walker n'a pas été entretenus dans un temps long, il est tout à fait insuffisante pour diagnostiquer ce problème. Vous aurez besoin d'obtenir Fuslogvw.exe va. Il offrira toujours une trace de cette erreur si vous l'utilisez correctement.
J'ai au niveau pour obtenir la fusion du journal et ont mis à jour la question
C'était la 2ème panne, vous avez besoin de trouver l'entrée de la défaillance d'origine pour charger l'assembly. L'original du code d'erreur d'échec était une simple "fichier introuvable" erreur très commune de cours. Copie le fichier dans c:\inetpub\MyServices\bin devait apporter certains soulager.
Le fichier est déjà là.
Lorsque vous "déclassé à 3,5 comment avez-vous fait exactement? Il peut faire plus de sens de recréer votre fichier de projet(s) et ajouter les références de vérifier que la bonne version du runtime .les dll sont utilisés

OriginalL'auteur Paul Michaels | 2013-10-28