« System.IO.FileNotFoundException: Impossible de charger le fichier ou l'assemblage » lorsque l'ensemble existe en fait

StackOverflow https://stackoverflow.com/questions/1540887

Question

Dans le cadre de la migration de .net 1.1 à .Net 3.5, nous avons dû changer en quelques DLLs vender.

L'un d'eux nous donne mal à seulement 1 place sur les 4 points que nous utilisons à l'adresse:

Le point névralgique est un projet sous forme de fenêtres qui utilise la réflexion pour charger dynamiquement des DLL à long terme les processus en cours. L'un de ces longs processus en cours d'exécution est un agent qui repose sur l'un de nos DLL vender

Nous recevons l'exception de montage manquant au point où nous entrons d'abord une fonction qui fait référence à la bibliothèque. Je l'ai déjà vérifié les choses idiotes telles que si nous avions oublié de passer une référence de l'ancienne version à la nouvelle version, mais ce n'est pas le cas. J'ai aussi vérifié le répertoire bin du projet et l'ensemble est là.

Quelqu'un at-il rencontré une situation dans laquelle .net 2.0 runtime refuse de charger un ensemble comme ça? Et si oui, comment pourrions-nous résoudre le problème.

Informations complémentaires:

Le fournisseur spécifique dans ce cas est dtSearch et c'est le boundry où l'erreur est jeté:

Private Sub BuildIndex()
    SetIndexOptions()
    ExecuteIndexJob()
End Sub

Private Sub SetIndexOptions()
    'Body removed for brevity
End Sub

La bibliothèque est référencée dans SetIndexOptions. BuildIndex() s'entrée, mais l'exception se produit lorsque SetIndexOptions est appelé. La fonction est jamais réellement entré.

Était-ce utile?

La solution 3

Transforme sur l'option de compilation par défaut a changé de VS2003 à VS2008 et qu'il compilait dans le mauvais bitness: \ Maintenant, je me sens un peu bête

Autres conseils

Si vous êtes encore des difficultés, vous pouvez utiliser le Assemblée Binding Log Viewer ( Fuslogvw.exe) pour identifier les ensembles sont chargés par votre application. Cet outil fait partie du .NET Framework. Cela vous donnera des détails sur tous les ensembles dépendants.

Je l'ai utilisé dans le passé lorsque l'on travaille avec des ensembles de tiers, très utile

Le FileNotFoundException peut être élevé même lorsque l'ensemble existe si l'un des ensembles à charge ne pouvait être chargé.

Essayez d'utiliser Dépendance Walker pour vérifier et voir que tous les ensembles dépendants sont également présents.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top