J'ai écrit une solution de plug-in pour les applications ASP MVC sur la base des conseils trouvés sur ce site, cependant, j'ai atteint un barrage routier et j'apprécierais de l'aide. Sans aller trop loin dans le fonctionnement du plug-in, il charge le contrôleur avec succès et trouve sa vue appropriée - le problème est que la vue ne compile pas car elle ne peut pas résoudre toutes les références du plugin (la DLL du plugin contient des références à d'autres DLL que l'application hôte ne connaît pas). J'utilise AssemblyResolve sur CurrentDomain mais qui n'est pas appelé lorsque le BuildManager par défaut compile la vue, mais prend la liste des assemblys de la section web.config. Si j'ajoute tous les fichiers plugin au GAC et ajoute une référence dans cette section - cela fonctionne bien. Mais cela va à l'encontre du but d'avoir un système de plugin si je dois changer web.config pour chaque plug-in.Ajout de références à ASP MVC Page Moteur de compilation
Une petite illustration pour expliquer la question: plugin.dll --references -> PluginServices.dll
URL http://mysite.com/some/index MVC application --load -> plugin.dll PASS
MVC application --load -> Plugin.SomeController PASS
MVC application --find -> Plugin \ Views \ some \ Index.aspx PASS
MVC application --compile -> Index.aspx FAIL (e e view utilise un type de PluginServices introuvable)
Existe-t-il un moyen d'ajouter dynamiquement des références à BuildManager afin que la compilation passe sans changer web.config?
Merci d'avance!
Cela semble être une bonne idée. Pourquoi tu ne l'aimes pas? –
La seule raison est que c'est un peu encombrant puisque vous devez continuer à mettre à jour les fichiers dans le GAC. À part cela, cela semble bien fonctionner. – Gil