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

Framework .NET Discussion :

[2.0] Comment implémenter un projet de ressources ?


Sujet :

Framework .NET

  1. #1
    Rédacteur
    Avatar de Louis-Guillaume Morand
    Homme Profil pro
    Cloud Architect
    Inscrit en
    Mars 2003
    Messages
    10 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Cloud Architect
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 10 839
    Points : 28 252
    Points
    28 252
    Par défaut [2.0] Comment implémenter un projet de ressources ?
    bonjour à tous

    Je travaille actuellement sur une solution contenant un très grand nombre de projets qui doit pouvoir par la suite augmenter.
    On a la possiblité avec vs2005 d'importer en tant que ressource incorporée des images ou autre. Ces projets sont soit des projets contenant des forms ou des usercontrols ou autre, et chaque projet utilise les meme images qu'un autre composant d'un autre projet (je vous sens perdu )

    explication:
    projet 1
    -- form1 utilise background.bmp en fond de fenetre

    projet 2
    -- form2 aimerait utiliser backgroup.bmp en ressource incroporée de projet1

    la fenetre de visual studio ne permet pas d'utiliser le fichier de ressource d'un autre projet.
    y a-t-il une alternative?

    nous pensions créer un dll contenant toutes nos images dans un projet tiers. Puis depuis chaque projet, appeler cette dll pour n'en tirer que les images nous interessant. (est ce plus clair)
    Est faisable? Comment ensuite creer cette dll justement? Comment l'appeler et en retirer la ressource?

    je sais faire avec VS2003 ou l'on ajouter une image au projet et on choisissait ressource incoporée mais je ne sais si ca marcherait dans mon cas.

    d'avance merci
    moi c'est Louis-Guillaume, ni Louis, ni Guillaume mais Louis-Guillaume et je n'aide pas ceux qui écorchent mon nom

  2. #2
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    Tel que je vois la chose:

    Tu mets toutes tes images en ressources incorporées dans une DLL et dans tes projets, tu ajoutes une référence à cette DLL.


    Après, pour récupérer l'image, par le code:

    Image image = new Bitmap(Assembly.GetExecutingAssembly().GetManifestResourceStream("mon_namespace.mon_image.mon_extension"));

    Ca devrait marcher

    Inconvénient: tu devras déployer la DLL contenant tes images en même temps que ton projet.

  3. #3
    Rédacteur
    Avatar de Louis-Guillaume Morand
    Homme Profil pro
    Cloud Architect
    Inscrit en
    Mars 2003
    Messages
    10 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Cloud Architect
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 10 839
    Points : 28 252
    Points
    28 252
    Par défaut
    c'est bien comme ca que je voyais mais qui dit dll dit projet specifique non?
    et quand tu fais
    GetManifestResourceStream("mon_namespace..."

    comment il sait quelle dll prendre exactement

    ce que tu me presente, cela marchait si dans un projet j'ajoutais les fichiers en ressource incorporée mais pour le projet d'à coté, je ne suis pas sûr que ca marche
    moi c'est Louis-Guillaume, ni Louis, ni Guillaume mais Louis-Guillaume et je n'aide pas ceux qui écorchent mon nom

  4. #4
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    Citation Envoyé par pharaonix
    c'est bien comme ca que je voyais mais qui dit dll dit projet specifique non?
    Ben, tu fis un nouveau projet spécifique, dans ta solution

    et quand tu fais
    GetManifestResourceStream("mon_namespace..."

    comment il sait quelle dll prendre exactement
    Essaye un truc du genre:

    Assembly m_assembly = Assembly.Load("Ta_DLL");

    Image image = new Bitmap(m_assembly.GetExecutingAssembly().GetManifestResourceStream("mon_namespace.mon_image.mon_extension"));

  5. #5
    Rédacteur
    Avatar de Louis-Guillaume Morand
    Homme Profil pro
    Cloud Architect
    Inscrit en
    Mars 2003
    Messages
    10 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Cloud Architect
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 10 839
    Points : 28 252
    Points
    28 252
    Par défaut
    c'etais presque ca mais c'etait le bon chemin. Au final, ca donne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    Assembly m_assembly = Assembly.Load("maDll");
    // juste le nom de la dll, pas l'extension!!!
     
    Image image = new Bitmap(m_assembly.GetManifestResourceStream("Dll.add2.png"));
    // on a deja l'assembly donc on ne met pas GetExecutingAssembly()
    Merci tomtom
    moi c'est Louis-Guillaume, ni Louis, ni Guillaume mais Louis-Guillaume et je n'aide pas ceux qui écorchent mon nom

  6. #6
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    Citation Envoyé par pharaonix
    c'etais presque ca mais c'etait le bon chemin. Au final, ca donne

    Assembly m_assembly = Assembly.Load("maDll");
    // juste le nom de la dll, pas l'extension!!!

    Image image = new Bitmap(m_assembly.GetManifestResourceStream("Dll.add2.png"));
    // on a deja l'assembly donc on ne met pas GetExecutingAssembly()
    Arf oui, j'ai fait une bête erreur de copier/coller

    Merci tomtom
    Päs de soucis, ca m'a permis d'apprendre aussi

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. comment structurer une modél. UML - projet J2EE avec pattern
    Par RocketArena dans le forum Architecture
    Réponses: 18
    Dernier message: 20/07/2007, 19h20
  2. Réponses: 4
    Dernier message: 03/11/2006, 16h21
  3. Comment ajouter des références à un projet
    Par Michel DELAVAL dans le forum Access
    Réponses: 1
    Dernier message: 27/06/2006, 13h14
  4. Comment organiser les fichiers de projet ?
    Par Zen_Fou dans le forum Général Conception Web
    Réponses: 4
    Dernier message: 03/05/2006, 17h21
  5. [Outils][InstallWIz.Net]Comment l'utiliser pour mon projet?
    Par fantomchris dans le forum EDI/Outils
    Réponses: 30
    Dernier message: 19/04/2006, 18h35

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