Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/18: Рейтинг темы: голосов - 18, средняя оценка - 4.89
 Аватар для Kruds
708 / 708 / 226
Регистрация: 04.03.2013
Сообщений: 1,384

Ошибка при десериализации

13.07.2013, 10:27. Показов 3543. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, уважаемые форумчане!
Подскажите пожалуйста.
Я написал класс который сериализует и десериализует свои объекты. В одном проекте сериализовал объект, скопировал код класса в другой, попробовал десериализовать объект, возникла ошибка:
Текст ошибки
Не удалось загрузить сборку с выводимым именем "ConsoleApplication1" в контекст связывания "LoadFrom" домена приложения с идентификатором 1. Причина сбоя: System.IO.FileNotFoundException: Невозможно загрузить файл или сборку "ConsoleApplication1, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" или один из зависимых от них компонентов. Не удается найти указанный файл.

Файл существует, проверка в дебагере дала true.
Код класса (лишнее сокращено)
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
[Serializable()]
    public class TableConfiguration
    {
        int num;
 
        public TableConfiguration()
        {
            num = 0;
        }
 
        public void Save(string tablename)
        {
            Stream fs = File.Create(tablename + ".tbl");
            BinaryFormatter serializer = new BinaryFormatter();
            serializer.Serialize(fs, this);
            fs.Close();
        }
 
        public static TableConfiguration Load(string tablename)
        {
            if (File.Exists(tablename + ".tbl"))
            {
                TableConfiguration cfg;
                Stream fs = File.OpenRead(tablename + ".tbl");
                BinaryFormatter deserializer = new BinaryFormatter();
                cfg = (TableConfiguration)deserializer.Deserialize(fs);
                fs.Close();
                return cfg;
            }
            else
                throw new Exception("Table configuration not found!");
        }
    }

Хотелось бы создавайть файлы в одном приложении, а загружать их из другого. Что для этого нужно сделать?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.07.2013, 10:27
Ответы с готовыми решениями:

Ошибка при десериализации
Привожу код сериализации и отправки объекта: public void SendRezult(object rezult) { using (MemoryStream...

Ошибка при десериализации
Пробую считать XML документ. в try catch выдаёт ошибку - There is an Error in XML document (2,2) что бы это могло значить ? ...

Постоянная ошибка при десериализации
Пишу свою игрушку. Сделал загрузку через десериализацию класса из xml. Вот код: public Hero Load_Hero() { ...

3
 Аватар для dev-a1056
228 / 95 / 27
Регистрация: 16.04.2013
Сообщений: 315
Записей в блоге: 2
13.07.2013, 10:55
1. вынести класс TableConfiguration в отдельную сборку.
2. добавить ссылку на эту сборку в оба проекта.
3. наслаждаться.
1
 Аватар для Kruds
708 / 708 / 226
Регистрация: 04.03.2013
Сообщений: 1,384
13.07.2013, 10:55  [ТС]
Решенилась проблема тем, что сериализуемый класс выкинул в .dll, таким образом получилось сериалиовать из одного приложения и открыть в другом. Если кому не лень предложить более грамотное решение буду благодарен.
0
 Аватар для dev-a1056
228 / 95 / 27
Регистрация: 16.04.2013
Сообщений: 315
Записей в блоге: 2
13.07.2013, 11:16
просто скопировать код класса недостаточно, т.к. при сериализации объекта сохраняется все метаданные о сборке сериализуемого класса.

Добавлено через 22 секунды
Kruds, это правильно решение.

Добавлено через 18 минут
есть еще DataContractSerializer он используется в WCF (сериализация на основе контрактов), но также может использоваться в любом приложение .Net в поток не сериализуется информация о типе, т.е. можно иметь локальные копии определения классов.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.07.2013, 11:16
Помогаю со студенческими работами здесь

Ошибка при десериализации листа
Всем привет! Народ такая проблема, хз вообще не понимаю, что происходит.. помогите разобраться. Есть клиент, который общается с...

Ошибка при десериализации объекта
<?xml version="1.0"?> <Command xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> ...

Ошибка в XML файле при десериализации
когда пытюсь десериализовать файл , то выдаёт ошибку - There is an error in XML document (8,5) Подскажите, в чем может быть проблема. ...

При десериализации JSON из файла происходит ошибка
using Newtonsoft.Json; using System; using System.Collections.Generic; using System.IO; using System.Runtime.Serialization; using...

Ошибка при десериализации json файла в list
Здравствуйте. У меня проблема с десериализации. Вот таким способом я делаю: var json = new...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Настройка записи справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru