|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
29.05.2010, 17:28 | #1 |
Форумчанин
Регистрация: 04.07.2007
Сообщений: 549
|
Сериализация в одной программе и десериализация в другой
Всем привет! Такая проблема появилась, мне нужно сериализовать класс, отправить его на сервер, потом другая программа скачивает его и десериализует. Всё уже написано, но вот десериализовываться не хочет программа. Написал 2 отдельных тестовых проекта, там та же беда, вылетает исключение, что не находит такой то namespace. Незнаю есть ли смысл выкладывать тут код? Просто там ничего особого нету, сериализую класс, а вдругой программе десериализую. Может кто сталкивался с такими проблемами? НУ в принципе может этот код будет о чём то говорить:
Код:
Код:
|
29.05.2010, 20:00 | #2 |
Участник клуба
Регистрация: 12.10.2007
Сообщений: 1,204
|
"Unable to find assembly..." ?
Для десериализации требуется та-же сборка, в которой описан сериализуемый класс. (информация о сборке хранится в сохраненных данных - <test1, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null) Т.е. нужно класс сделать отдельной сборкой и поместить ее в оба конца. В принципе, пока сборка не подписана и если версия не будет меняться (например в тестовом приложении) достаточно просто сделать оба приложения с одинаковыми именами и все нормально работает. |
29.05.2010, 20:14 | #3 |
Форумчанин
Регистрация: 04.07.2007
Сообщений: 549
|
А обойти это как-то можно? Мне нужно для разных приложений, и версия будет меняться. Сейчас пробую с XML сериализацией, пока что проблемы с Dictionary, пишу ему замену в виде обычного класса
|
29.05.2010, 23:32 | #4 |
Участник клуба
Регистрация: 12.10.2007
Сообщений: 1,204
|
Все равно у Вас две копии одного класса. Не проще ли вынести его в отдельную сборку и подключить к двум приложениям.
С SoapFormatter та-же проблема. Разве что в xml подправить имя сборки проще. А вообще механизм уже реализован в NET.Remoting. |
30.05.2010, 01:34 | #5 |
Форумчанин
Регистрация: 04.07.2007
Сообщений: 549
|
Возможно и проще, только я как то сделал dll, а подключить её не смог. Про DllImport я в курсе, просто видимо не так делал.
Незнаю, что делать, Dictionary не сериализуется в Xml, вообще не пойму как его заменить. Пробовал, свой Dictionary написать, ничего не вышло. =================================== =================== Всё разобрался! Сделал dll отдельную и подключил к проектам обоим, вроде работает. Млин, прикольно, впервые такое написал, теперь моя программа почти научилась получать новости (обращения к пользователям, обновления, изменения в обновлениях, другие мои программы (как реклама) и т.д.) Почти потому, что осталось написать хранение на компьютере пользователя, удаление, чтобы не качала одни и те же новости. Последний раз редактировалось Casper-SC; 30.05.2010 в 02:39. |
30.05.2010, 20:31 | #6 |
Форумчанин
Регистрация: 04.07.2007
Сообщений: 549
|
Сегодня покопал в сторону хранения данных на компьютере, вот нашёл 2 варианта, 1-ый это хранение в локальной базе данных, 2-ой в xml файлах (не сериализация). Вот для передачи тех же новостей я думаю подойдут xml файлы, мне нужно, чтобы не было зависимости от версии программы, а то с этими версиями проблем появляется море. Вот такой способ (метод пока просто примерный):
Код:
======================== В общем вопрос глуповатый, похоже версия роли не играет, сейчас сидел разбирался, что к чему. Последний раз редактировалось Casper-SC; 30.05.2010 в 22:55. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Заполнение одной таблицы из другой | Ольга Ларина | Microsoft Office Excel | 8 | 08.02.2010 19:10 |
Постоянный фокус на одной программе | regman | Общие вопросы Delphi | 20 | 10.08.2009 11:07 |
сериализация и десериализация | radiantor | Работа с сетью в Delphi | 7 | 02.08.2008 00:27 |
ListView в другой программе | Domoffou | Win Api | 2 | 22.01.2008 08:07 |
Сортировка одной БД по значениям другой | Кот из Лета | БД в Delphi | 4 | 28.12.2007 13:35 |