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 :
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();
           }
       }
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
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();
           }
Lorsque les deux fonctions sont dans le même projet, tout va bien.
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.