Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сериализация, Ошибка при реконструкции объекта 
V
    Опции темы
WinNet
Дата 10.3.2007, 17:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 4.3.2007
Где: г.Москва

Репутация: нет
Всего: нет



Возникает ошибка при реконструкции объекта.
Ход действий такой:
Выполняется Программа1 которая осуществляет сериализацию то есть сохраняет
экземпляр Serialize в памяти.

        
Код

static void Main(string[] args)
        {
            Serialize scr = new Serialize();
            scr.MonitoringObject = "TestSTR1";
            scr.TypeFile = "TestSTR2";
            BinaryFormatter bin = new BinaryFormatter();
            Stream F = new FileStream("Data.dat",FileMode.Create,FileAccess.Write,
            FileShare.None);                   
            bin.Serialize(F, scr);
            F.Close();
            Console.ReadLine();
        }

Тип Serialize описан так:

    
Код

[Serializable]
    public class Serialize
    {
        public string MonitoringObject;
        public string TypeFile;
    }

Сериализация проходит успешно , а вот при реконструкции файла Data.dat Программой2:

       
Код

 static void Main(string[] args)
        {
            Stream fStream = new FileStream("Data.dat", FileMode.Open, FileAccess.Read, FileShare.None);
            BinaryFormatter binFormat = new BinaryFormatter();
            Serialize srz = (Serialize)binFormat.Deserialize(fStream);  // Ошибка!
            fStream.Close();

            FileStream F = File.Open("test.txt", FileMode.Create, 
            FileAccess.ReadWrite);  
         
            byte[] msg = Encoding.Default.GetBytes(srz.MonitoringObject);
            F.Write(msg, 0, msg.Length);
            F.Close();
        }

Возникает ошибка  Unable to find assembly 'ConsoleApplication2, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'.

PM ICQ   Вверх
nikitao
Дата 10.3.2007, 18:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кот-программист
***


Профиль
Группа: Завсегдатай
Сообщений: 1206
Регистрация: 30.8.2005
Где: Спб

Репутация: 4
Всего: 26



Ошибка никак не связана с кодом. Кроме того код нормально работает ;)  Ты наверно что то в решении нахимичил. ( У меня код запахал )  


--------------------
Жизнь - печальная штука.
PM MAIL ICQ Skype GTalk   Вверх
mr.DUDA
Дата 10.3.2007, 19:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232



Всё правильно пишет, ведь сериализуемый класс привязан к одной сборке (exe или длл), поэтому обе проги должны использовать одну общую длл с этим классом, либо не писать в поток полные имена типов (для этого юзать XML-сериализацию).


--------------------
user posted image
PM MAIL WWW   Вверх
WinNet
Дата 10.3.2007, 20:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 4.3.2007
Где: г.Москва

Репутация: нет
Всего: нет



Спасибо! С  dll все заработало  smile 
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0441 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.