Bonjour,
J'ai deux projets qui partagent la même classe d'objet.
(classe appelée Famille, [serializable])
Dans le premier projet, je sérialise une liste de ces objets par :
et je la désérialise par :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 public static void Sauve(SortedList<string, Famille> Familles, string Fichier) { BinaryFormatter BF = new BinaryFormatter(); using (FileStream fs = new FileStream(Fichier, FileMode.Create, FileAccess.Write)) { BF.Serialize(fs, Familles); fs.Close(); } }
Lorsque les deux fonctions sont dans le même projet, tout va bien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 public static void Charge(ref SortedList<string, Famille> Familles, string Fichier) { BinaryFormatter BF = new BinaryFormatter(); BF.AssemblyFormat = System.Runtime.Serialization.Formatters.FormatterAssemblyStyle.Simple; using (FileStream fs = new FileStream(Fichier, FileMode.Open, FileAccess.Read)) { Familles.Clear(); Familles = (SortedList<string, Famille>)BF.Deserialize(fs); fs.Close(); }
Si je veux désérialiser dans le second projet, plantage, car il ne trouve pas le premier assembly.
Comment faire ? Est-ce faisable avec un BinaryFormatter ? Dois-je passer à autre chose ? XML ?
D'avance merci de votre aide.
Partager