Длина массива байтов не соответствует после сериализации объекта [duplicate]
Если вы получаете это сообщение во время сохранения или компиляции сборки, просто закройте все файлы, а затем откройте любой файл для компиляции и сохранения.
Для меня причина в том, что я переименовал файл, и старый файл все еще был открыт.
Извините, я не понимаю, что вы имеете в виду ... Я могу отлаживать и смотреть на полученный десериализованный объект в VS, но это не говорит мне ничего о том, сколько объектов какого типа было в сериализованном потоке, что было дублировано , и т. д. (или это? Я что-то упустил?)
– Tao16 June 2010 в 11:55
2
Я хочу сказать, что если вы можете отлаживать, вы можете увидеть точное состояние потока сериализации, объект, переданный для сериализации и его содержимого.
– Juan Nunez16 June 2010 в 12:11
3
Извините, если я здесь скучный или отсутствует какая-то главная особенность VS, но поскольку у меня нет доступа к внутренним элементам BinaryFormatter, добавление точки останова просто позволит увидеть поток, а затем увидеть десериализованный объект; конечно, у меня есть содержимое потока в виде файла, и у меня был объект, прежде чем я даже сериализовал его, чтобы это не принесло мне ничего полезного. Моя проблема не в том, чтобы «исследовать». сам объект через VS IDE, я хотел бы понять структуру потока данных и использования пространства в нем.
– Tao16 June 2010 в 14:41
4
Извините, я действительно неправильно понял ваш вопрос. Я предполагаю, что нет такой важной функции. Виноват.
– Juan Nunez16 June 2010 в 15:43
спасибо - я, в конечном счете, использую сериализацию XML (возможно), потому что читаемость для человека очень важна для меня, но на самом деле моя цель / вопрос прямо сейчас заключается в том, как понять, что на самом деле хранит класс BinaryFormatter, чтобы я мог определить, при реализации моей собственной сериализации ИЛИ адресовать некоторые другие проблемы с дизайном в самой структуре данных. Я хотел бы знать, что находится в файле! :)
– Tao16 June 2010 в 11:53
2
Уверенный BinaryFormatter хранит несколько копий одних и тех же объектов. Я проверил это некоторое время назад. Это действительно так.
– Vasyl Boroviak16 June 2010 в 12:00
3
Справедливо; Я проведу пару дней, чтобы узнать, найдет ли кто-нибудь / знает способ просмотра статистики по содержимому потока, как я предполагал, и в противном случае будет изучать что-то.
– Tao16 June 2010 в 14:43
4
Извините, еще одно замечание по этой теме - насколько я могу судить (в иерархической структуре с обратными ссылками несколько тысяч объектов различных типов, суммирующих до 10 МБ сериализованных) BinaryFormatter НЕ хранит несколько копий одного и того же объекта; Мне было бы интересно увидеть какие-либо доказательства обратного ...
– Tao20 June 2010 в 09:49
5
Я опубликовал некоторый код, чтобы доказать, что я ошибался.
– Vasyl Boroviak20 June 2010 в 12:06