locked
ConfigurationManager.ConnectionStrings pour les DLL RRS feed

  • Question

  • Bonjour,

    J'ai créé une DLL pour Crystal Report (une UFL).
    Cette UFL accede a une base pour traduire des libellé.

    Pour rendre paramétrable la chaine de connection, j'ai voulu la placer dans un "App.config" (De la meme manière qu'un projet EXE).

    Pour la récupérer je fais comme ça : ConfigurationManager.ConnectionStrings("CatWeb").ConnectionString

    La DLL est compilable. Mais elle ne fonctionne pas à cause de la ligne ci dessus.

    Peut on utiliser cette classe dans une bibliothèque de classe?

    Cdlt

    François
    mercredi 3 mars 2010 22:46

Réponses

  • Le fichier config est déjà un fichier xml. Pour obtenir le chemin si ton .config est dans le même répertoire que ton assembly tu peux utiliser la reflection ( voir propriété CodeBase de l'objet assembly ).
    Tu peux trouver une implémentation de cette solution avec le source complet ici sur le site de Mike Woodring.

    Cordialement
    jeudi 4 mars 2010 17:07

Toutes les réponses

  • Bonjour,

    en utilisant la classe ConfigurationManager depuis une assembly, la lecture de la configuration sera quand même effectuée dans le fichier de config du programme principal c'est à dire : dans le web.config dans le cas asp.net ou dans le fichier app.config dans le cas winform par ex.

    Vous pouvez donc :
    - soit ajouter directement la connectionstring dans le fichier de config principal
    - soit conserver le fichier de config dans l'assembly mais dans ce cas il faudra le lire directement en xml ( via XmlDocument par ex )

    Cordialement
    jeudi 4 mars 2010 10:14
  • Encore Merci niko
    Mon cas est plus complexe.

    Je rapelle que c'est une UFL Crytal report. Il n'y a donc pas de notion de programme principal ou alors il faut considérer Crystal comme le projet principal.

    Je vais essayer le 2ème cas.
    En ajoutant un app.config à mon projet de type bibliothèque de classe.
    Si je comprends bien, je pourrais ajouter un simple fichier xml vu que, si j'ai bien compris un app.config est inutilisable dans une dll.

    Question bête : comment vais je savoir le chemin de ce fichier XML?

    Cdlt,

    François
    jeudi 4 mars 2010 14:23
  • Le fichier config est déjà un fichier xml. Pour obtenir le chemin si ton .config est dans le même répertoire que ton assembly tu peux utiliser la reflection ( voir propriété CodeBase de l'objet assembly ).
    Tu peux trouver une implémentation de cette solution avec le source complet ici sur le site de Mike Woodring.

    Cordialement
    jeudi 4 mars 2010 17:07
  • Bonjour Kakworg,

     

    Avez-vous avancé avec votre projet à l’aide des conseils de Nikho ?

     

    Cordialement,

    Alex


    Alex Petrescu - MSFT
    lundi 8 mars 2010 09:33
  • Etant passé sur un autre projet, je n'ai pas eu le temps de mettre en oeuvre la solution.
    Pouvez vous patienter jusqu'à Vendredi?
    lundi 8 mars 2010 12:10
  • Bonjour et merci pour le suivi.

     

    Je vais marquer la réponse de Nikho pour le moment et on attend votre teste. Si vous considérez que la réponse n’est pas satisfaisante ou si vous avez besoin de plusieurs informations, on va continuer sur ce thread.

     

    Cordialement,

    Alex


    Alex Petrescu - MSFT
    lundi 8 mars 2010 14:51