IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

visual studio, (dé)sérialisation et assembly


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de shadowmoon
    Homme Profil pro
    Expert technique et fonctionnel .Net
    Inscrit en
    Mai 2005
    Messages
    1 066
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Expert technique et fonctionnel .Net
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 066
    Par défaut visual studio, (dé)sérialisation et assembly
    Bonjour

    Sous Visual Studio 2013, dans une solution S1, j'ai un projet P1 contenant une classe CL1, dans laquelle est écrit des fonctions pour sérialiser et dé-sérialiser des données binaires, en utilisant comme modèle (template) d'autres classes.

    Ayant besoin de ces fonctions ailleurs, j'ai fait un copier + coller du code de la classe CL1 dans une classe CL2. La classe CL2 se situe dans un autre projet P2, qui est lui-même au sein de la solution S2.

    Tous les noms des solutions, projets, classes, namespace et autres sont différents, seul le code copié, à l'intérieur des classes, est identique d'une classe à l'autre.

    Quand je tente d’exécuter une fonction de (dé)sérialisation de la classe 2, j'obtiens, dans un try catch, la levée de l'exception suivante :

    "Impossible de trouver l'assembly NomProjet_P1, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'."

    NB 1 : Les deux projets / solutions sont des applications consoles.

    NB 2 : aucune erreur ni warning à la compilation / génération

    Quelqu'un aurait-il assez de connaissances pour me guider dans la résolution de ce problème ?

  2. #2
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Par défaut
    salut

    à priori, pour le compilateur, il considère que les classes sont différentes.

    Le plus simple pour partager des classes entre projets et sérialiser / désérialiser facilement sans avoir de blague est de faire une assembly commune qui sera
    référencée par chacun des projets... comme ça, tes objets à utiliser seront "uniques"...

  3. #3
    Membre éprouvé Avatar de shadowmoon
    Homme Profil pro
    Expert technique et fonctionnel .Net
    Inscrit en
    Mai 2005
    Messages
    1 066
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Expert technique et fonctionnel .Net
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 066
    Par défaut
    Citation Envoyé par theMonz31 Voir le message
    à priori, pour le compilateur, il considère que les classes sont différentes.
    Oui, c'est normal, puisque que c'est le cas : les deux classes sont dans 2 projets différents, qui sont eux-mêmes dans deux solutions différentes.

    Comme d'ailleurs tous les autres objets des 2 projets.

    Citation Envoyé par theMonz31 Voir le message

    Le plus simple pour partager des classes entre projets et sérialiser / désérialiser facilement sans avoir de blague est de faire une assembly commune qui sera
    référencée par chacun des projets... comme ça, tes objets à utiliser seront "uniques"...
    Je ne veut pas pas faire de partage de classes entre les deux projets.

    En lisant cette réponse, je pense que mes explications ont été mal comprises, donc je reformule.

    Pour mon programme actuel, j'ai créé une nouvelle solution de type application console, avec un nouveau projet dedans.

    Puis, j'ai créé les classes dont j'ai l'utilité.

    Ensuite, j'ai eu besoin de faire de la sérialisation / dé-sérialisation. Je me suis souvenu l'avoir déjà fait dans un autre projet.

    J'ai donc copier et coller le code des fonctions d'un projet à l'autre, d'une classe à une autre classe complètement différente.

  4. #4
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Par défaut
    serialisation binaire ou xml ?

  5. #5
    Membre éprouvé Avatar de shadowmoon
    Homme Profil pro
    Expert technique et fonctionnel .Net
    Inscrit en
    Mai 2005
    Messages
    1 066
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Expert technique et fonctionnel .Net
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 066
    Par défaut
    Citation Envoyé par theMonz31 Voir le message
    serialisation binaire ou xml ?
    Les données sont stockées dans des fichiers binaires.

    [edit]

    Je viens de tester un truc.

    Dans mon nouveau projet, J'ai supprimé la classe avec les fonctions pour sérialiser / dé-sérialiser.

    J'ai copier coller le code qui m’intéressait depuis la classe de mon ancien projet vers le "bloc-notes"

    J'ai créé une classe vide dans mon nouveau projet.

    Et enfin j'ai copier coller le code depuis le "bloc-notes" vers ma nouvelle classe.

    Mais toujours la même exception

  6. #6
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Par défaut
    je reste persuadé qu'il te faut 3 projets

    2 projets qui correspondent à tes exécutables et un projet qui sera un projet de type librairie qui comprendra les classes pour (de)sérialiser les objets.

    Je ne vois pas d'autres solutions.

Discussions similaires

  1. News Visual Studio
    Par farscape dans le forum Visual C++
    Réponses: 34
    Dernier message: 27/04/2010, 10h21
  2. [Visual studio 2005] - Assembly introuvable
    Par Anto03 dans le forum Visual Studio
    Réponses: 0
    Dernier message: 02/09/2007, 18h24
  3. [C#][Visual studio]Assemblies?????
    Par Sodangbe dans le forum Windows Forms
    Réponses: 4
    Dernier message: 20/04/2006, 20h02
  4. Probleme d'utilisation de directX 9 avec visual studio.net
    Par cranedoeuf dans le forum DirectX
    Réponses: 1
    Dernier message: 24/05/2004, 04h33
  5. Version de Windows dans Visual Studio !!!
    Par Jasmine dans le forum MFC
    Réponses: 3
    Dernier message: 18/03/2004, 17h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo