Bonjour,
Je tente de charger une dll si elle est déposé dans un dossier. Pour ce faire je fait ceci :
Le problème c'est que je me retrouve avec l'erreur suivante que je ne comprends pas :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 FileSystemWatcher filesw = new FileSystemWatcher(); string pathDossier = @"C:\Users\gfauconnier\Documents\Visual Studio 2013\Projects\PluginAppSolution\PluginApp\bin\Debug\Plugin"; DirectoryCatalog directoryCatalog; public PluginLoader(string path) { directoryCatalog = new DirectoryCatalog(path); filesw.Path = pathDossier; filesw.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite | NotifyFilters.FileName | NotifyFilters.DirectoryName; filesw.Filter = "*.*"; filesw.EnableRaisingEvents = true; filesw.Changed += new FileSystemEventHandler(OnChanged); var catalog = new AggregateCatalog(directoryCatalog); _Container = new CompositionContainer(catalog); _Container.ComposeParts(this); } private void OnChanged(object sender, FileSystemEventArgs e) { try { directoryCatalog.Refresh(); } catch (Exception ex) { MessageBox.Show(ex.Message); } MessageBox.Show("refresh ok"); }
La composition reste inchangée. Les modifications ont été rejetées en raison des erreurs suivantes : La composition a produit une seule erreur de composition. La cause initiale est fournie ci-après. Pour plus d'informations, passez en revue la propriété CompositionException.Errors.
1) Modification des exportations empêchée par l'importation non recomposable 'MyApp.PluginLoader.Plugins (ContractName="PluginContract.IPlugin")' sur le composant 'MyApp.PluginLoader'.
Je charge mes plugin de la façon suivante :
Merci d'avance pour votre aide !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 PluginLoader loader = new PluginLoader("Plugin"); _Plugins = new Dictionary<string, IPlugin>(); IEnumerable<IPlugin> plugins = loader.Plugins;
Partager