Я создал приложение для телефонной книги, и через некоторое время оно отлично работает. Мне понравилось делать обновление для моего приложения, и я начал с нуля. Я не унаследовал его от своего старого класса, и я тоже успешно справился
«Я хочу перенести свои контакты из старого приложения в
новый"
по этой причине я создал класс адаптера в своем новом приложении со следующим кодом
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Windows.Forms;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Formatters.Binary;
namespace PhoneBook
{
class Adapter
{
PhoneRecord PhRecord; //the new application object
CTeleRecord TelRecord; //the old application object
string fileName;
public Adapter(string filename)
{
fileName = filename;
}
public void convert()
{
PhRecord = new PhoneRecord();
TelRecord = new CTeleRecord();
FileStream OpFileSt = new FileStream(fileName, FileMode.Open,FileAccess.Read);
BinaryFormatter readBin = new BinaryFormatter();
for (; ; )
{
try
{
TelRecord.ResetTheObject();
TelRecord = (CTeleRecord)readBin.Deserialize(OpFileSt);
PhRecord.SetName = TelRecord.GetName;
PhRecord.SetHomeNumber = TelRecord.GetHomeNumber;
PhRecord.SetMobileNumber = TelRecord.GetMobileNumber;
PhRecord.SetWorkNumber = TelRecord.GetWorkNumber;
PhRecord.SetSpecialNumber = TelRecord.GetSpecialNumber;
PhRecord.SetEmail = TelRecord.GetEmail;
PhRecord.SetNotes = TelRecord.GetNotes;
PhBookContainer.phBookItems.Add(PhRecord);
}
catch (IOException xxx)
{
MessageBox.Show(xxx.Message);
}
catch (ArgumentException tt)
{
MessageBox.Show(tt.Message);
}
//if end of file is reached
catch (SerializationException x)
{
MessageBox.Show(x.Message + x.Source);
break;
}
}
OpFileSt.Close();
PhBookContainer.Save(@"d:\MyPhBook.pbf");
}
}
}
проблема в том, что при попытке прочитать файл, обработанный моим старым приложением, я получаю исключение сериализации с этим сообщением
Телефонная книга "Отменить поиск сборки", версия = 1.0.0.0, культура = нейтральная, PublicK eyToken = ноль "
и источником исключения является mscorlib.
когда я читаю тот же файл со своим старым приложением (которое является источником файла), у меня нет проблем, и я не знаю, что нужно сделать, чтобы мой класс адаптера работал.