web-dev-qa-db-fra.com

Une exception non gérée du type 'System.IO.FileNotFoundException' s'est produite dans un module inconnu.

Je développe une application c # et j'obtiens le message d'erreur suivant lors de l'exécution du débogage:

Une exception non gérée du type 'System.IO.FileNotFoundException' s'est produite dans le module inconnu.

Informations complémentaires: Impossible de charger le fichier ou l'assembly 'Autodesk.Navisworks.Timeliner.dll' ou l'une de ses dépendances. Le module spécifié n'a pas pu être trouvé.

Autodesk.Navisworks.Timeliner.dll est dans le dossier de débogage de l'application. J'ai réparé le framework .net (version 4) mais cela ne l'a pas résolu. Des idées sur la façon de résoudre ce problème? Merci. 

7
mj1261829

Première vérification - le répertoire de travail est-il le répertoire dans lequel l'application est exécutée:

  • Cliquez avec le bouton droit sur votre projet et sélectionnez Propriétés.
  • Cliquez sur l'onglet Débogage.
  • Confirmez que le répertoire de travail est vide ou égal au répertoire bin\debug.

Si ce n'est pas le problème, demandez alors si Autodesk.Navisworks.Timeliner.dll requiert un autre DLL qui n'existe pas . Si Timeliner.dll n'est pas un assemblage .NET, vous pouvez déterminer le importe en utilisant l'utilitaire de commande DUMPBIN.

dumpbin /imports Autodesk.Navisworks.Timeliner.dll

S'il s'agit d'un assemblage .NET, de nombreux outils peuvent vérifier les dépendances.

Reflector a déjà été mentionné et j'utilise JustDecompile de Telerik .


Voir aussi cette question

6
Andrew Shepherd

Activer cette option dans VS: option Just My Code

Outils -> Options -> Débogage -> Général -> Activer uniquement mon code (géré uniquement)

9
Nanu

Si vous utilisez un système 64 bits et essayez de charger une dll 32 bits, vous devez compiler votre application au format 32 bits au lieu de n’importe quel processeur. Si vous ne le faites pas, il se comporte exactement comme vous le décrivez.

Si ce n'est pas le cas, utilisez Dependency Walker pour vérifier que la dll a ses dépendances requises.

4
Yaur

Ajouter l'extrait de code suivant dans votre fichier de configuration

<startup useLegacyV2RuntimeActivationPolicy="true">
   <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
1
Aravind R S

Ce que je voudrais faire est d'utiliser cet outil et de passer par là où vous obtenez l'exception

http://www.reflector.net/

Lisez ceci, il vous expliquera comment créer un PDB afin que vous n'ayez pas besoin de configurer toutes vos références.

http://www.cplotts.com/2011/01/14/net-reflector-pro-debugging-the-net-framework-source-code/

C’est un essai et je n’ai aucun lien avec Redgate, j’utilise simplement un logiciel.

0
Micah Armantrout