“Le système de.IO.FileNotFoundException: impossible de charger le fichier ou l'assembly” lorsque l'assemblée n'a, en fait, existent
Dans le cadre de notre migration .net 1.1 .net 3.5, nous avons dû changer un peu de vender Dll.
L'un d'eux est de nous donner de la difficulté à en seulement 1 place des 4 spots nous l'utilisons à l':
Le lieu du problème est un formulaire windows projet qui utilise la réflexion pour charger dynamiquement des Dll qui exécuter long processus en cours d'exécution. L'un de ces longs processus en cours d'exécution est un agent qui s'appuie sur l'un de nos fournisseurs, Dll
Nous sommes en train de le manque assemblée exception au point où nous écrivons d'abord une fonction qui fait référence à la bibliothèque. J'ai déjà vérifié les choses stupides comme si nous avions oublié de déplacer une référence à partir de l'ancienne version vers la nouvelle version, mais ce n'est pas le cas. J'ai aussi vérifié le répertoire bin du projet et de l'assemblée est là.
Quelqu'un a rencontré une situation dans laquelle .net runtime 2.0 refuse de charger un assembly comme ça? Et si oui, comment pourrait-on résoudre le problème.
Informations Supplémentaires:
Le fournisseur spécifique dans ce cas est dtSearch et c'est le boundry où l'erreur est lancée:
Private Sub BuildIndex()
SetIndexOptions()
ExecuteIndexJob()
End Sub
Private Sub SetIndexOptions()
'Body removed for brevity
End Sub
La bibliothèque est référencé dans SetIndexOptions. BuildIndex()
est enregistrée, mais l'exception se produit lorsque SetIndexOptions est appelée. La fonction n'est jamais vraiment entré.
OriginalL'auteur Evan Larkin | 2009-10-08
Vous devez vous connecter pour publier un commentaire.
Si vous rencontrez toujours des problèmes, vous pouvez utiliser le Assemblée De Liaison De La Visionneuse De Journaux (Fuslogvw.exe) pour identifier les assemblys qui sont chargés par votre application. Cet outil fait partie de la .NET Framework. Cela va vous fournir des détails sur tous les assemblys dépendants.
J'ai utilisé dans le passé lorsque vous travaillez avec des tiers assemblées, très utile
OriginalL'auteur Rohan West
La FileNotFoundException peut être élevé, même lorsque l'assemblée n'existe pas si l'un des assemblées dépendantes ne pouvait pas être chargé.
Essayez d'utiliser Dependency Walker de vérifier et de voir que toutes les assemblées dépendantes sont également présents.
Ces 2 assemblées sont plus susceptibles faux - fuyants- je pense que la plupart des assemblages j'ouvre manquent ces 2 même si elles fonctionnent correctement.
Si la DLL est bien alors?
Oui - selon Dependency Walker. Essayez de fusion de l'exploitation forestière, ou éventuellement à l'aide de Réflecteur pour parcourir et ouvrir tous les assemblys référencés.
OriginalL'auteur Justin
S'avère que le défaut option de compilation changé de VS2003 de VS2008 et il était en train de rassembler dans le mauvais nombre de bits :\, Maintenant je me sens un peu idiot!
OriginalL'auteur Evan Larkin