Почему я получал ошибку со своим XmlSerializer?

42
задан Peter Mortensen 13 November 2013 в 18:18
поделиться

4 ответа

Главная причина это происходило, состояла в том, потому что у меня было несоответствие в типах, которые я пытался Сериализировать и Десериализовать. Я Сериализировал ObservableCollection (Группы) и десериализовывал бизнес-объект - Группы, которые наследовали ObservableCollection (Группы).

И это было также частью проблемы... От - http://social.msdn.microsoft.com/Forums/en-US/asmxandxml/thread/9f0c169f-c45e-4898-b2c4-f72c816d4b55/

Этим исключением является часть нормального функционирования XmlSerializer. Это ожидается и будет поймано и обработано в коде Платформы. Просто проигнорируйте его и продолжите. Если это беспокоит Вас во время отладки, установите отладчик Visual Studio, чтобы только остановиться на необработанных исключениях вместо всех исключений.

68
ответ дан Doug 26 November 2019 в 23:45
поделиться

Кажется, что Вы не можете определить местоположение блока FUSE.XmlSerializers. Проверьте результаты (Fuslogvw.exe) Assembly Binding Log Viewer для наблюдения, где это смотрит (хотя список, представленный выше, кажется довольно полным).

Попытка расположиться, где этот блок хранится на Вашем компьютере и работает NGen на нем, чтобы видеть, не удается ли этому загрузиться по некоторым причинам. Удостоверьтесь, что этот файл DLL появляется в Вашем каталог Bin\Debug. Visual Studio, кажется, не получает зависимости зависимостей, и таким образом, необходимо удостовериться, что у Вас есть все файлы, в которых Вы нуждаетесь сами иногда.

1
ответ дан Peter Mortensen 26 November 2019 в 23:45
поделиться

Как Вы загружали блок, содержащий эти Groups тип? Я предполагаю, что Вы загрузили его Assembly.LoadFrom(), потому что сериализатор XML использует тот же контекст (контекст 'LoadFrom'), чтобы попытаться загрузить блоки для сериализации. Если так, у Вас есть несколько опций:

  1. Использование Assembly.Load() вместо Assembly.LoadFrom().
  2. Присоединение обработчик к AppDomain.AssemblyResolve, чтобы помочь CLR найти рассматриваемый блок.
0
ответ дан Tim Cooper 26 November 2019 в 23:45
поделиться

Согласно информации, которую я обнаружил, исключение BindingFailure, связанное с XmlSerializers, иногда не указывает на какую-либо ошибку, и его следует просто игнорировать, но иногда вы можете увидеть это, например, в режиме отладки, когда у вас есть установите параметры VS для отображения всех выданных исключений.

Источник: https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=88566&wa=wsignin1.0

Между прочим. это более или менее одна из вещей, упомянутых в первом ответе :).

8
ответ дан 26 November 2019 в 23:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: