2009-11-03 6 views
0

Mise à jour: J'ai essayé d'utiliser fuslogvw.exe pour obtenir des journaux. Mais qu'est-ce que je cherche exactement? Malheureusement, les journaux sont en danois ce qui est extrêmement ennuyeux (Apparemment, quelqu'un pensait que traduire littéralement danois dans les messages d'erreur danois serait une bonne idée, mais cela rend Google inutile: je dois deviner le texte anglais original pour obtenir bons résultats, grrrr). Je pense que la traduction devrait aller quelque chose comme: "LOG: Début bind de l'image originale System.Windows.Forms.resources, Version = 2.0.0.0, Culture = da-DK, PublicKeyToken = b77a5c561934e089 WRN: Aucune image originale correspondante était a trouvé". Je suis tout à fait nouveau à ces journaux, donc les suggestions sont toujours vives.Application Windows Forms, exception au démarrage: Impossible de charger System.Xml

J'ai une application Windows Forms, qui stocke les paramètres en utilisant Properties.Settings ... J'ai récemment téléchargé et installé une autre application .Net. Maintenant, tout à coup, ma propre application Windows Forms lance une exception immédiatement au démarrage (où j'essaie de charger les paramètres). L'erreur indique quelque chose comme "fichier ou assembly System.Xml, Version = 2.0.0.0, PublicKeyToken = b77a5c561934e089 ou l'une de ses dépendances n'a pas pu être chargée.Le module devait contenir un assemblyymanifest".

Je n'ai aucune idée de l'endroit où rechercher la cause de cette erreur, puisque le dossier Windows \ assembly contient System.Xml avec la version correcte et public, key.

Les suggestions sont les bienvenues, en particulier en ce qui concerne la documentation .Net Je devrais lire sur, car je pense que c'est un grand écart dans mes connaissances .Net.

Merci!

Répondre

2

Ceci est en partie une supposition, mais ça vaut le coup d'essayer.

Jetez un coup d'oeil dans votre fichier app.config. Recherchez toute configuration qui fait référence à System.XML. Si vous en trouvez, essayez de supprimer le numéro de version de la liaison. J'ai eu un problème similaire avec plusieurs versions de la bibliothèque d'entreprise.

Si cela ne vous aide pas, vous pouvez utiliser le visualiseur de journal de liaison d'assemblage (fuslogvw.exe) pour obtenir plus d'informations sur l'échec de la liaison. Vous devez le démarrer et activer la journalisation de toutes les liaisons (ou simplement des échecs si vous préférez), puis assurez-vous que vos journaux sont effacés, exécutez votre application, cliquez sur Actualiser et consultez les journaux de liaison pour l'échec System.XML. Cela vous fournira des informations sur où l'exécution recherche l'assembly et pourquoi la liaison a échoué.

+0

Voici un extrait du fichier .config d'applications. Si je vous comprends bien, je devrais supprimer la partie Version = 2.0.0.0?

+0

Non. Laissez tout cela à l'assembly System.XML. Je vous suggère d'essayer d'utiliser fuslogvw. –

0

Assurez-vous que .NET 2.0 est installé sur votre ordinateur (si seulement .NET 3.0 est installé, ce n'est pas suffisant). Pourriez-vous fournir plus d'informations concernant la version du framework avec laquelle votre application originale a été compilée? Faites-moi savoir si cela a aidé

+0

J'ai .NET 2.0, 3.0, 3.5 SP1 installé. Comment puis-je vérifier la "condition" de ceux-ci? En outre, Comment vérifier la version de mon application? Cette information est-elle "intégrée" dans le binaire .exe? –

+0

Pour vérifier que .NET 2.0 est installé sur votre machine, exécutez la commande suivante à partir de la ligne de commande: dir% WINDIR% \ Microsoft.NET \ Framework \ v2.0.50727 Pour vérifier dans quel framework .NET votre application est compilée par contre, vérifiez Project -> Propriétés -> Application -> Target Framework Pour vérifier un exécutable ou un assembly existant, ouvrez-le dans Reflector et vérifiez la version de mscorlib.dll référencée. Ceci est la version du Framework. –

Questions connexes