2

Ceci est ma première question sur StackOverflow.com et je ne suis pas sûr que ce soit la bonne façon de procéder. J'ai trouvé une question similaire intitulée: Modifying the Data Source for the Strongly Typed Dataset Connection String. Cependant, la réponse fournie ne fonctionne pas pour moi. Je ne suis pas en mesure de commenter parce que je n'ai pas assez de «points de réputation» (encore une fois, je viens de m'inscrire), et je ne voulais pas fournir une «réponse», parce que je ne connais pas la bonne répondre.Chaînes de connexion dynamiques pour un DataSet fortement typé dans une bibliothèque de classes utilisant App.Config

Mon problème est que j'ai besoin de pouvoir modifier la chaîne de connexion à l'intérieur du myproject généré. dll .config fichier, mais cela n'a aucun effet pour moi du tout. Ma bibliothèque utilise toujours la chaîne de connexion par défaut qui a été configurée au moment du design. J'ai essayé tout ce que je sais pour essayer, mais toujours pas de chance. J'ai essayé de contourner le problème en utilisant plusieurs approches différentes, mais le problème persiste. Je ne trouve aucune aide sur internet avec mon problème spécifique non plus. Ce serait génial si quelqu'un pouvait faire la lumière sur la raison pour laquelle mon fichier de configuration modifié n'est pas lu.

Informations utiles:

  • J'utilise un DataSet
  • Je ne sais pas fortement typées la chaîne de connexion réelle au moment de la conception.
  • Le fichier app.config ne me permet pas de spécifier une chaîne de connexion étendue «Utilisateur».
  • Je suis attaché à une bibliothèque de classes (pas Windows Forms)

Merci pour toute aide!

Luc

Répondre

1

Par défaut, les bibliothèques de classes ne pas analyser leur propre mylibrary.dll.config - ils utiliseront le fichier de configuration de l'hôte (app.config ou web.config) à la place.

Ce que vous pouvez faire est de consulter le ConfigurationManager et de voir les méthodes pour charger des fichiers de configuration spécifiques/autres à partir du disque (OpenMappedExeConfiguration). De cette façon, vous pouvez probablement accéder aux paramètres de configuration de votre bibliothèque et les utiliser.

Il y a plusieurs commentaires sur l'utilisation de cette OpenMappedExeConfiguration ici sur Stackoverflow ou ailleurs.

Marc

+0

Merci Marc. Je voulais juste commenter et dire que le client était d'accord pour forcer une chaîne de connexion statique lors de l'installation en utilisant une action personnalisée en utilisant OpenMappedEXEConfig. FTR: La DLL était utilisée comme Excel Add-In (par conséquent, il n'y avait pas de fichier d'application/de configuration .NET). Encore une fois, merci beaucoup! – Luc

+0

BTW: vous pouvez réellement ajouter un "Excel.exe.config" à votre répertoire de bureau et l'utiliser pour spécifier vos affaires! :-) Essayez-le - cela a fonctionné pour moi (sur d'autres applications non gérées j'ai étendu en utilisant des DLL .NET) –

Questions connexes