Utilisation dynamique de DLL.

Signaler
Messages postés
64
Date d'inscription
lundi 21 avril 2008
Statut
Membre
Dernière intervention
23 octobre 2009
-
Messages postés
883
Date d'inscription
vendredi 3 novembre 2000
Statut
Membre
Dernière intervention
3 mars 2009
-
Bonjour à tous,

Je me tourne vers vous pour avoir un conseil bien précis. Je cherche à développer une application qui peut être enrichie à l'aide de "plugins". Je pense à utiliser des librairies (DLL) qui pourront offrir de nouvelles fonctionnalités.

Cependant, je ne vois pas comment pouvoir ajouter un DLL à une application déjà existante (Enrichissement) sans l'ajouter aux références. Auriez vous une idée à ce sujet ? Comment intégrer de nouvelles fonctionnalités sur une application, sans redémmarer l'OS, ni  l'appli ?

Merci d'avance,

A+

2 réponses

Messages postés
195
Date d'inscription
dimanche 10 février 2002
Statut
Membre
Dernière intervention
16 février 2016

il y a une solution à ma connaissance mais il y a des impératifs :

Il faut absulement que cette DLL implémente une interface connu de ton application.
Ensuite il est possible de charger de façon dynamique celle ci dans l'assembly grâce à ce bout code.
"Assembly.Load(path).CreateInstance(className)" du namespace "System.Reflection"
où 'path' le chemin d'assembly et 'className' est le nom de la classe à utiliser

Attention, l'importance de l'interface est du au fait que ton appli ne seras pas quoi faire de cette instance. Renseigne toi sur MSDN pour ce principe avant toute chose, un peu de doc ne fais de mal à personne.
En espérant t'aider ou si quelqu'un à une meilleur solution
Messages postés
883
Date d'inscription
vendredi 3 novembre 2000
Statut
Membre
Dernière intervention
3 mars 2009
7
Oui c'est comme cela qu'il faut faire.
Tu dois énumérer les types contenus dans l'assembly et instancier ceux qui implémente ton interface de plug-in.

<hr size="2" width="100%" />Julien.