none
probleme avec librairie.dll.config RRS feed

  • Question

  • Bonjour,
    Contexte:
    J'ai créé une assembly avec en annexe un fichiers de parametre xml via le designer de visual studio 2008 (properties->paramètres).
    Comme pour une application exe ça m'as créé toutes les classes(settings) et le fichier Malib.dll.config.

    Jusque là tout va bien.

    problème:
    Mais lorsque j'utilise la dll et que je modifie manuellement dans le xml une valeur du fichier malib.dll.config cette valeur n'est pas prise en compte (la valeur reste celle que j'ai définit à l'origine) dans la dll non recompilée.
    J'accede dans le code de ma dll à cette valeur via cette expression : EspaceDenomDll.Properties.Settings.Default.Socket_BufferResponse_Size

    J'ai essayé la même manipulation dans une application exe et tout marche impécable sans avoir à recompiler le fichier aplication.exe.config est correctement lu.

    Si quelqu'un a une idée de la raison de ce problème (en fait je peux même enlever ce fichier .config la dll fonctionne sans planter).

    j'ai une cinquantaine de parametres.... je vous laisse imaginer :(
    mercredi 19 août 2009 00:48

Réponses

  • Bonjour,

    Les valeurs par défaut sont codées en dur dans le code de votre application (ou des DLL), c'est pour çà que vous pouvez toujours avoir accès aux valeurs de ces dernières.

    Cordialement
    Gilles TOURREAU - MVP C#
    mercredi 19 août 2009 21:00
    Modérateur

Toutes les réponses

  • Bonjour,

    Dans une application Windows Forms, il ne doit avoir qu'un seul fichier .config. Ce fichier doit s'appeller MonApp.exe.config.
    Si vous avez développé une DLL qui utilise des paramètres d'un fichier de configuration, vous devez placer ces paramètres dans MonApp.exe.config et non dans MaDll.dll.config.

    Il est possible de gérer plusieurs fichiers de configuration, mais il faudra le faire par programmation...

    Cordialement
    Gilles TOURREAU - MVP C#
    mercredi 19 août 2009 19:47
    Modérateur
  • Merci de votre réponse,
    Mais pour quelle raison visual studio nous propose cette possibilitée et qu'on peut accéder à la valeur par défaut?
    mercredi 19 août 2009 19:53
  • Bonjour,

    Les valeurs par défaut sont codées en dur dans le code de votre application (ou des DLL), c'est pour çà que vous pouvez toujours avoir accès aux valeurs de ces dernières.

    Cordialement
    Gilles TOURREAU - MVP C#
    mercredi 19 août 2009 21:00
    Modérateur