[.Net] Lire un fichier config Settings

[.Net] Lire un fichier config Settings - C#/.NET managed - Programmation

Marsh Posté le 04-07-2011 à 17:11:38    

Salut
 
Voilà, je vous explique la situation.
Il faut que je stocke des paramètres liés à une librairie utilisé dans un projet dans un fichier de type Settings. A la compilation Visual Studio produira un fichier NomApplication.exe.config.
 
Alors bon si je stocke les infos dans la librairie elle-même pas de problème, pour y accéder suffit de faire:
Properties.Settings.Default.....
 
Or je veux stocker cette config dans l'application utilisant cette lib, pas dans la lib elle-même, et la je sais pas comment, sachant que je veux juste donner comme paramètre à la lib le nom de fichier config et lui il devra se débrouillera pour charger les paramètres.
 
Or je sais pas comment lire ces paramètres (sachant que dans ce cas, Properties.Settings.Default..... ne marchera pas vu qu'il pointe vers les settings dans de la lib et non pas du projet utilisant cette lib).
 
Ne me dite pas que je suis obligé le lire moi-même le fichier xml, élément par élément, pour récupérer les paramètres???
 
 
Merci

Reply

Marsh Posté le 04-07-2011 à 17:11:38   

Reply

Marsh Posté le 04-07-2011 à 17:32:33    


mais non... [:kiki]
ConfigurationManager.AppSettings


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 04-07-2011 à 17:42:47    


[:kiki]
 
 
Non ca marche pas, tu penses bien que je sais me servir de google aussi....
 
Ca ca marche pour le fichier config (app.config), qui stocke les infos dans le fichier config sous la forme:

Code :
  1. <configuration>
  2.   <configSections>
  3. ...
  4.   </configSections>
  5.   <appSettings>
  6.     <add key="MyKey" value="MyValue" />
  7.   </appSettings>


 
Or c'est justement ce que je ne veux pas, car je ne peux pas différencier les paramètres de l'application et les paramètres pour la librairie (faut que ce soit propre :o), en plus ca ne stocke pas le type de la valeur.
Moi je veux utiliser la structure xml que produit les fichiers config de type "Settings.settings" (je l'avais bien indiqué dans le premier message quand même :o ).
Lui il te pond un xml de type:
 

Code :
  1. <configuration>
  2.   <configSections>
  3.     <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, ......>
  4.       <section name="MyLib.Settings" type="System.Configuration.ClientSettingsSection,....." requirePermission="false" />
  5.     </sectionGroup>
  6.   </configSections>
  7.  
  8.    <applicationSettings>
  9.     <MyLib.Settings>
  10.       <setting name="TestKey" serializeAs="String">
  11.         <value>Test</value>
  12.       </setting>
  13.     </MyLib.Settings>
  14. ...
  15. ...
  16.   </applicationSettings>
  17. </configuration>


 
 
 
Un peu de la manière de la lib log4net p.ex:

Code :
  1. <configSections>
  2. <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
  3. </configSections>
  4. <log4net>
  5.     <appender name="SmtpAppender" type="log4net.Appender.SmtpAppender,log4net">
  6.       <to value="destinataire@mail.com" />
  7.       <from value="expediteur@mail.com" />
  8.       <subject value="Alerte, tout a pété" />
  9.       <smtpHost value="smtp.com" />
  10.       <bufferSize value="0" />
  11.       <threshold value="ERROR" />
  12.       <layout type="log4net.Layout.PatternLayout,log4net">
  13.         <conversionPattern value="LEVEL: %level %newlineDATE: %date  LOGGER: %logger %newline%newline%message" />
  14.       </layout>
  15.     </appender>
  16.     <root>
  17.       <level value="ALL" />
  18.       <appender-ref ref="SmtpAppender" />
  19.     </root>
  20. </log4net>


Message édité par Profil supprimé le 04-07-2011 à 17:46:19
Reply

Marsh Posté le 04-07-2011 à 17:52:00    

Tu peux personnaliser ce fichier et y rajouter tes propres infos via les classes ConfigurationElement, ConfigurationSection, ConfigurationElementCollection et ConfigurationProperty présentes dans le namespace System.Configuration


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 04-07-2011 à 18:19:35    

Ok merci, je vais voir de ce côté là alors.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed