2009-02-15 5 views
0

Je développe une bibliothèque de classes qui utilise une structure de plugin très simple - pour commencer à créer de nouveaux domaines d'application pour chaque plugin. Voici la structure des dossiers:Charger un assemblage dans le dossier parent - sondage?

Bin 
    Modules 
     Plugins.dll 
    Main.dll 
    Library.dll 

Pendant l'exécution, je charge les types dans Plugins.dll à l'aide de Reflection. Je voudrais passer un de mes propres objets que j'ai créés dans Library.dll à une classe dans Plugins.dll. Mais sur la ligne d'appel MethodInfo, par ex.

pMi.Invoke({My Own Objects()}) 

il me donne une exception FileNotFound car il ne peut pas trouver Library.dll. Quelle serait la meilleure façon de dire à ma bibliothèque de regarder dans le dossier parent pour l'assemblage?

Merci pour toute aide.

+0

Pouvez-vous poster du code ou ajouter des explications sur la façon dont cela échoue? –

Répondre

1

Lors de la construction de nouveaux domaines d'application, que définissez-vous en tant que ApplicationBase et PrivateBinPath? Le simple fait de garder la base de l'application en tant que "Bin" et en plaçant des modules comme PrivateBinPath devrait être suffisant mais ne sachant pas comment vous le faites, je ne peux pas vous donner une réponse définitive. En outre, y a-t-il une raison pour laquelle vous n'utilisez pas le modèle AddIn de base présent dans MEF? (vous pouvez utiliser System.AddIn sans avoir besoin de toutes les cloches et de tous les sifflets MEF)

+0

+1 pour System.AddIn et MEF –

Questions connexes