Question

J'ai apporté quelques modifications à mon application de travail et j'ai commencé à recevoir l'erreur suivante sur cette ligne de code.

Dim Deserializer As New Serialization.XmlSerializer(GetType(Groups))

Et voici l'erreur.

    BindingFailure was detected
    Message: The assembly with display name 'FUSE.XmlSerializers' failed to load in the 'LoadFrom' binding context of the AppDomain with ID 1. The cause of the failure was: System.IO.FileNotFoundException: Could not load file or assembly 'FUSE.XmlSerializers, Version=8.11.16.1, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.
File name: 'FUSE.XmlSerializers, Version=8.11.16.1, Culture=neutral, PublicKeyToken=null'

    Message: The assembly with display name 'FUSE.XmlSerializers' failed to load in the 'LoadFrom' binding context of the AppDomain with ID 1. The cause of the failure was: System.IO.FileNotFoundException: Could not load file or assembly 'FUSE.XmlSerializers, Version=8.11.16.1, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.
File name: 'FUSE.XmlSerializers, Version=8.11.16.1, Culture=neutral, PublicKeyToken=null'

=== Pre-bind state information ===
LOG: User = DOUG-VM\Doug
LOG: DisplayName = FUSE.XmlSerializers, Version=8.11.16.1, Culture=neutral, PublicKeyToken=null, processorArchitecture=MSIL
 (Fully-specified)
LOG: Appbase = file:///E:/Laptop/Core Data/Data/Programming/Windows/DotNet/Work Projects/NOP/Official Apps/FUSE WPF/Fuse/bin/Debug/
LOG: Initial PrivatePath = NULL
Calling assembly : System.Xml, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089.
===
LOG: This bind starts in default load context.
LOG: Using application configuration file: E:\Laptop\Core Data\Data\Programming\Windows\DotNet\Work Projects\NOP\Official Apps\FUSE WPF\Fuse\bin\Debug\FUSE.vshost.exe.config
LOG: Using machine configuration file from C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\config\machine.config.
LOG: Policy not being applied to reference at this time (private, custom, partial, or location-based assembly bind).
LOG: Attempting download of new URL file:///E:/Laptop/Core Data/Data/Programming/Windows/DotNet/Work Projects/NOP/Official Apps/FUSE WPF/Fuse/bin/Debug/FUSE.XmlSerializers.DLL.
LOG: Attempting download of new URL file:///E:/Laptop/Core Data/Data/Programming/Windows/DotNet/Work Projects/NOP/Official Apps/FUSE WPF/Fuse/bin/Debug/FUSE.XmlSerializers/FUSE.XmlSerializers.DLL.
LOG: Attempting download of new URL file:///E:/Laptop/Core Data/Data/Programming/Windows/DotNet/Work Projects/NOP/Official Apps/FUSE WPF/Fuse/bin/Debug/FUSE.XmlSerializers.EXE.
LOG: Attempting download of new URL file:///E:/Laptop/Core Data/Data/Programming/Windows/DotNet/Work Projects/NOP/Official Apps/FUSE WPF/Fuse/bin/Debug/FUSE.XmlSerializers/FUSE.XmlSerializers.EXE.

Que se passe-t-il?

Était-ce utile?

La solution

Cela s’explique principalement par le fait que j’essayais de sérialiser et de désérialiser les types que je cherchais. Je sérialisais ObservableCollection (du groupe) et désérialisaisais un objet métier - Groupes dont hérité ObservableCollection (du groupe).

Et cela faisait également partie du problème ... De - http: // social.msdn.microsoft.com/Forums/en-US/asmxandxml/thread/9f0c169f-c45e-4898-b2c4-f72c816d4b55/

  

Cette exception fait partie de la   Fonctionnement normal de XmlSerializer. Il   est prévu et sera attrapé et   géré à l'intérieur du code Framework.   Ignorez-le et continuez. Si ça   vous dérange pendant le débogage, définissez la   Le débogueur Visual Studio à arrêter uniquement   exceptions non gérées au lieu de tous   exceptions.

Autres conseils

Selon les informations que j'ai trouvées, l'exception BindingFailure associée à XmlSerializers n'indique parfois aucune erreur et doit être simplement ignorée, mais vous pouvez parfois la voir i. e. en mode débogage, lorsque vous avez défini les options VS pour afficher toutes les exceptions levées.

Source: https://connect.microsoft.com/VisualStudio/feedback /ViewFeedback.aspx?FeedbackID=88566&wa=wsignin1.0

Btw. c’est plus ou moins l’une des choses mentionnées dans la première réponse:).

Il semble que vous ne puissiez pas localiser l'assembly FUSE.XmlSerializers. Consultez les résultats de la Visionneuse du journal de reliure de l’assemblage (Fuslogvw.exe) pour voir où il se trouve (bien que la liste présentée ci-dessus semble assez complète).

Essayez de localiser l'emplacement de cet assemblage sur votre ordinateur et lancez NGen sur celui-ci pour voir si il ne parvient pas à charger pour une raison quelconque. Assurez-vous que ce fichier DLL apparaît dans votre répertoire Bin \ Debug . Visual Studio ne semble pas avoir les dépendances de dépendances, vous devez donc vous assurer que vous avez parfois tous les fichiers dont vous avez besoin.

Comment avez-vous chargé l'assembly contenant le type Groupes ? Je suppose que vous l'avez chargé avec Assembly.LoadFrom () car le sérialiseur XML utilise le même contexte (le contexte 'LoadFrom') pour tenter de charger des assemblys pour la sérialisation. Si oui, vous avez deux options:

  1. Utilisez Assembly.Load () au lieu de Assembly.LoadFrom () .
  2. Associez un gestionnaire à AppDomain.AssemblyResolve pour aider le CLR à trouver l'assembly en question.

Pour les quelques projets Visual Studio que j'ai où il s'agit d'une gêne, je préfère désactiver l'interruption en cas d'exception uniquement pour BindingFailure et System.IO.FileNotFoundException . .

Dans Visual Studio: Ctl + D , Ctl + E pour le dialogue Exceptions:

1) Désactivez BindingFailure sous Assistants de débogage gérés

.

2) Désélectionnez System.IO.FileNotFoundException sous Exceptions relatives à l'exécution en langage commun .

Ahhh, c’est mieux: -)

... et je vois que 1/2 cette réponse a été donnée par strager le 24 novembre 2010 à 10:12

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