ConfigurationManager continue à obtenir la chaîne de connexion Machine.config

J’ai un assemblage qui utilise le fichier app.config pour stocker sa chaîne de connexion à la firebase database. Lors du débogage de l’application, j’ai remarqué que la connexion à la firebase database échouait car le ConfigurationManager renvoyait la chaîne de connexion machine.config:

source de données =. \ SQLEXPRESS; Sécurité intégrée; ….

J’ai ajouté <clear/ > avant ma chaîne de connexion dans app.config et cela a résolu le problème sur ma machine de développement. Le problème est revenu quand je l’ai déployé en production. Quelqu’un peut-il me dire comment je peux empêcher l’utilisation de la chaîne de connexion machine.config?

 SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionSsortingngs[0].ConnectionSsortingng);     

METTRE À JOUR

Ce qui suit me donne toujours la chaîne de connexion machine.config?!

  Configuration appConfig = ConfigurationManager.OpenExeConfiguration(Assembly.GetExecutingAssembly().Location); ssortingng dllConfigData = appConfig.ConnectionSsortingngs.ConnectionSsortingngs[0].ConnectionSsortingng; 

Lorsque vous utilisez des chaînes de connexion dans une DLL, vous devez également les append au fichier app.config de votre fichier exe, en utilisant exactement le même nom pour le paramètre. Ensuite, vous pouvez modifier la chaîne de connexion dans le fichier .config du fichier exe et la DLL la capturera automatiquement une fois chargée.

C’est probablement le seul moyen de disposer de chaînes de connexion personnalisées dans le fichier app.config lorsque votre couche de persistance de firebase database est implémentée dans une DLL distincte. Ne me demandez même pas combien de temps il m’a fallu pour rechercher et déboguer ceci.

Je sais que c’est une question plus ancienne, mais j’avais le même problème aujourd’hui. Le problème était que l’ app.config que j’ai ajouté à mon projet n’était pas copié dans le répertoire de sortie. Pour résoudre ce problème, cliquez avec le bouton droit sur le app.config et sélectionnez Properties . Puis changez Build Action en Content . J’espère que cela t’aides!

Essayez d’obtenir une instance de votre fichier app.config en tant qu’object de configuration:

 var config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); var myConnSsortingng = config.ConnectionSsortingngs["VersionConnectionSsortingng"].ConnectionSsortingng; 

Cela contourne complètement le fichier de configuration de la machine.

Vous devriez obtenir votre chaîne de connexion par NOM au lieu de INDEX – cela vous assurera d’obtenir ce que vous demandez.

Essayer

 SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionSsortingngs["VersionConnectionSsortingng"].ConnectionSsortingng);