CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[C#] Serialisation entre assembly diff

Enderith
Enderith
Niveau 9
30 novembre 2014 à 23:00:17

-érente.

Bonjour !

Je viens de finir de dev' une petite librairie qui encapsule toutes les fonctions pour communiquer facilement via TCP, cependant je rencontre un petit soucis pour l'échange d'objets personnalisés.

J'ai par exemple une classe Personnage :d)

public class Personnage {
private string nom;
private int age;
}

Cette classe se trouve dans deux assembly différentes mais est absolument identique.
la sérialisation se passe bien via cette méthode :

public static byte[] GetBytes(object obj) {
MemoryStream ms = new MemoryStream();
BinaryFormatter bf = new BinaryFormatter();
bf.Serialize(ms, obj);
return ms.ToArray();
}

En revanche quand je veux récupérer l'objet de l'autre coté ...

public static object GetObject(byte[] byteObject) {
MemoryStream ms = new MemoryStream(byteObject);
BinaryFormatter bf = new BinaryFormatter();
object obj = bf.Deserialize(ms);
ms.Close();
return obj;
}

J'ai une exception à object obj = bf.Deserialize(ms);

http://puu.sh/dbZ9z/04d8c08d51.png

"CASERVER" est l'assembly de l'objet source où la sérialisation a été faîte ...

Je me dis que l'erreur vient que même si l'objet est identique, le fait qu'il ne soit pas dans la même assembly fait que justement il n'est pas réellement identique, d'où l'erreur. Ai-je juste ?

Quelle solution s'offre à moi ?

Merci.

Enderith
Enderith
Niveau 9
25 février 2015 à 22:28:38

Up, j'ai repris ce projet et je bloque toujours a ce point.

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment