2009-04-13 11 views
4

Nous avons une application qui charge nos DLL personnalisées (ces DLL implémentent une interface) à l'exécution à partir de la racine de l'application et exécute une méthode par réflexion.configuration fichier pour DLL

Si une DLL personnalisée doit lire une valeur à partir de fichiers de configuration, nous devons copier ces paramètres de configuration dans le fichier app.config de l'application principale.

Y at-il un moyen quelconque où chaque DLL personnalisée aura son propre fichier de configuration nommé .config et lire ses paramètres de configuration à partir de ces fichiers lui-même.

Répondre

1

Chargez votre DLL dans un nouvel AppDomain et définissez AppDomainSetup.ConfigurationFile. Cela vous permettra de créer un fichier de configuration séparé pour chaque DLL personnalisée.

0

Je suis certain qu'il existe un moyen de faire cela dans le cadre, mais je ne me souviens pas du haut de ma tête. Ce que vous cherchez est des fichiers de configuration par assemblage, je me souviens avoir lu un article à ce sujet Per Assembly Configuration Files

3

Si vous utilisez .NET 2.0 ou supérieur, vous pouvez demander au système de configuration de charger manuellement les paramètres depuis n'importe quelle configuration fichier que vous voulez.

ExeConfigurationFileMap exeMap = new ExeConfigurationFileMap(); 
exeMap.ExeConfigFilename = "C:\Application\Default.config"; 

Configuration exeConfig = ConfigurationManager.OpenMappedExeConfiguration(exeMap, ConfigurationUserLevel.None); 

Maintenant vous avez votre objet "Config" personnalisé et vous pouvez faire la fête dessus! :-) Charger une section entière en appelant exeConfig.GetSection() ou ce que vous voulez.

Découvrez également cette excellente série en trois parties sur le système de configuration .NET 2.0 sur CodeProject - fortement recommandé!

Marc

Questions connexes