Une procédure importés par {myassembly} n'a pas pu être chargé
lors de l'exécution d'un prorgam, il semble qu'il me manque une bibliothèque, lorsque je lance la sortie de mon projet, j'obtiens une exception au démarrage.
A first chance exception of type 'System.IO.FileLoadException' occurred in mscorlib.dll
An unhandled exception of type 'System.IO.FileLoadException' occurred in mscorlib.dll
Additional information: A procedure imported by 'my assembly, Version=xx.1.1.0, Culture=neutral, PublicKeyToken=7292581204d9e04a' could not be loaded.
'ScriptX.vshost.exe' (Managed): Loaded 'C:\WINDOWS\assembly\GAC_MSIL\System.Configuration.0.0.0__b03f5f7f11d50a3a\System.Configuration.dll', No symbols loaded.
Ma question est: comment puis-je déterminer la bibliothèque est manquant, car, à ce stade, je ne peux pas voir les valeurs transmises à:
mscorlib.dll!System.AppDomain.ExecuteAssembly(string assemblyFile, System.Security.Policy.Evidence assemblySecurity, string[] args) + 0x3a bytes
- La traduction allemande lit "Eine von {myassembly} importierte Prozedur konnte nicht geladen werden.", juste au cas où quelqu'un est googler (juste comme je l'ai fait).
Vous devez vous connecter pour publier un commentaire.
Il est en fait intégré dans le mécanisme de ces diagnostics.
(1) Dans les propriétés du projet/Debug, assurez-vous que "Activer le débogage de code natif" est cochée:
(2) Soulever le show-chargeur-snaps drapeau, c'est une clé de registre dans la IFEO, et est accessible via le 'GlobalFlags' GUI:
(3) Exécutez l'application et d'inspecter le (très) verbose volet de sortie. Vous pouvez surtout sauter à la fin ou chercher "ERREUR".
Plus de détails ici.
windbg
.Faites-vous toute dllimport? - cela ressemble à un problème avec un non géré dll pas trouvé?
Première chose est de s'assurer que non géré dll ou exe que vous êtes à l'appel (via dllimport) sont déployées dans le même dossier que le .Net exe que vous êtes la construction
Si la source de l'appel de l'assemblée n'est pas disponible, vous pouvez essayer d'utiliser réflecteur sur cette assemblée de recherche pour dllimport états
Autre que celui que vous souhaiterez peut-être activer le fustion visionneuse du journal de trace de l'assemblée charge des questions - voir cette post de blog et page msdn pour plus de détails
Mettre en œuvre un gestionnaire pour le domaine d'application.AssemblyResolve événement. Il vous dit que l'assemblée il est à la recherche pour avec ResolveEventArgs.Nom. Si c'est juste un effort pour résoudre cette assemblée, puis utiliser Fuslogvw.exe. Si le raccrochage est un non géré assemblée DependencyWalker Profil de l'option peut vous montrer ce que l'appel de LoadLibrary() est un échec. SysInternals' ProcMon sera trop de travail, mais est beaucoup plus bruyant.