Appliquer une Application.config pour ma DLL assemblée?
Je suis en train d'écrire une bibliothèque de classe comme une abstraction à utiliser pour la connexion à une application, un service, etc. que j'écris. Je suis en train de faire décemment robuste en le rendant très configurable pour répondre à mes besoins pour la plupart des application/service de journalisation des scénarios que j'ai rencontré.
La config est conçu pour préciser les choses telles que:
- Ce niveau de journalisation pour écrire
- Écrire dans un fichier journal pour tous les niveaux
- Écrire dans des fichiers séparés par niveau
- Journalisation de coupure (périodique, app événement, la taille en octets restreint)
- Fichier journal d'expiration (supprimer les fichiers journaux après le fichier d'âge)
- Écrire en tant que plat de texte ou XML
- Nom du fichier journal de spécification de format
- Si le préfixe de nom de fichier avec la date
- Parent le nom de l'application
- etc, etc, etc...
J'ai lu quelques autres stackoverflow questions concernant les configs pour DLL assemblées et provoquer de conflit entre l'application.config pour la tenue de l'assemblée/app. Je crois que ma assemblée a cause juste de fournir un fichier de config.
Est-ce un bon scénario pour cette occasion? C'est peut-être une meilleure idée de cuire ma propre config dans mon projet afin que mon enregistreur de lit à partir de fichiers XML pour récupérer config valeurs?
merci pour la suggestion. J'ai écrit une bonne partie de code d'enregistrement pour un projet que je suis en train de travailler sur au travail et a décidé d'utiliser la plupart du code comme une base pour de futures applications. J'ai essayé de travailler avec une structure de journalisation auparavant et était frustré parce que mon dept. veut utiliser .Net 4.0 et j'ai eu des difficultés à obtenir une lib ou deux pour travailler avec elle. J'ai donc fini par mettre en place mon propre léger de journalisation. Merci beaucoup pour la suggestion cependant, j'ai l'habitude d'accord avec cette idée, mais il ne donne pas une raison pour ne pas réutiliser mon propre code.
Je vous suggère de regarder de toute façon-à ne pas utiliser leur code, mais de voir comment ils mettent en œuvre étant configuré via l'Application.fichier de config), il est très commun pour une journalisation être configuré via l'Application.Fichier de Config, et vous pouvez suivre la même pratique avec votre propre cadre de référence. 🙂
OriginalL'auteur jlafay | 2010-07-15
Vous devez vous connecter pour publier un commentaire.
Ce que vous pourriez faire est de
créer une section de configuration personnalisée (en utilisant par exemple les Section COnfiguration De Designer outil)
mettre votre configuration de l'assemblage est séparée en une
MyAssembly.config
fichierde référence que l'assemblée fichier de configuration de votre application hôte de la config:
De cette façon, vous pouvez "externaliser" votre configuration dans un fichier de configuration qui vous ont qu'une seule fois (dans votre assemblée du projet), et tout projet nécessitant il a juste besoin de ces paramètres dans son propre fichier de configuration.
Je pense que c'est la meilleure solution pour ma config besoins. Merci pour le lien vers la section de configuration du concepteur de trop!
OriginalL'auteur marc_s
Sonne comme une configuration personnalisé section serait bien travailler dans votre cas. De nombreuses bibliothèques, comme la Bibliothèque d'Entreprise de faire exactement cela. Découvrez la Article MSDN en créer un.
OriginalL'auteur wsanville
L' .NET config mécanisme n'est pas conçu pour traiter des fichiers de configuration pour les Dll. Vous devez configurer votre application à l'aide des paramètres appropriés, et de les transmettre à la classe de l'instanciation à partir de la DLL.
Il est possible d'ajouter des paramètres à un projet DLL comme vous en avez l'habitude de faire pour les applications. Tout ce que vous devez faire est de copier les articles pertinents et des entrées dans l'application.config manuellement et il va fonctionner.
Cependant, il est toujours vrai qu'il n'y a aucun point de la copie de la DLL fichier de configuration. Il ne sera pas lu.
non, alors vous êtes en train d'ajouter une dépendance cachée de votre DLL. Vous pouvez toujours faire un fichier de configuration - faites votre applications lire le fichier de configuration (ou une partie de ce fichier que vous copiez dans leurs configs) et de transmettre les paramètres pour les classes à partir de votre fichier DLL. (et +1.)
Euh..., beaucoup de dll besoin .fichier de configuration des modifications (en particulier de journalisation des dll). Il suffit d'ajouter pertinentes des sections de configuration de votre application.config, et tout fonctionne sans modification de code.
OriginalL'auteur Thorsten Dittmar
Un autre mécanisme est d'avoir un autre fichier de configuration (*.dll.la configuration) de votre assemblée. La technique est illustré ici: http://blog.rodhowarth.com/2009/07/how-to-use-appconfig-file-in-dll-plugin.html
Ci-dessus, d'imiter l'application standard.config technique pour les assemblages.
À mon avis, la dll de configuration de la lecture de code ne devrait exister que dans la dll correspondante et dans une salle de classe avec un seul la responsabilité de la lecture de la configuration des entrées de l' *.dll.config. C'est une belle façon d'avoir le fichier de configuration pour un montage dans une voie semblable au fichier de configuration (app.config) un exécutable peut avoir.
OriginalL'auteur Anand Patel