J'ai créé une application de répertoire et cela fonctionne bien après un moment j'ai aimé faire une mise à niveau pour mon application et j'ai commencé à partir de zéro je n'ai pas hérité de mon ancienne classe, et j'ai aussi « Je veux migrer mes contacts de l'ancienne application du nouveau » , donc je fait une classe d'adaptation pour cette raison dans ma nouvelle application avec le code suivantProblème de sérialisation
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");
}
}
}
le problème est quand je tente pour lire le fichier traité par mon ancienne application je reçois une exception de sérialisation avec ce message "Unalel to find assembly 'PhoneBook, Version = 1. 0,0,0, Culture = neutre, PublicK eyToken = null "
et la source d'exception est mscorlib. Lorsque je lis le même fichier avec mon ancienne application (Quelle est l'origine du fichier), je n'ai aucun problème et je ne sais pas quoi faire pour que ma classe d'adaptateur fonctionne.
merci pour tout de vous –
je vais essayer la réponse 2 depuis h'm C# débutant –