Comment puis-je lire le chemin d'accès actuel |DataDirectory| à partir de paramètres de configuration

Je suis en train d'écrire un programme qui demande à l'utilisateur de sélectionner la base de données active au démarrage de l'application. J'ai un Formulaire Windows qui liste les bases de données stockées dans un sous-dossier de ApplicationData spécialement pour stocker les fichiers de base de données. Lorsque je crée une nouvelle base de données, cependant, j'ai besoin de copier le modèle de base de données, mais ne peut pas trouver l'emplacement de stockage par défaut.

J'ai essayé:

dpath = ConfigurationManager.AppSettings["DataDirectory"];

J'ai toujours l'impression pour obtenir une valeur null en retour. À un moment, j'ai abandonné et pensé que je pourrais juste mettre le DataDirectory dans un dossier de mon choix, mais il semble que je fais trop de retard dans l'exécution de mon programme pour qu'il prenne effet.

newdpath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\MyAppFolder";

J'aimerais avoir des suggestions sur la façon de trouver l'emplacement de la base de données, ou de définir moi-même assez tôt pour affecter le fonctionnement d'un programme.

EDIT:

Pour la deuxième partie, j'ai découvert que j'étais en train de modifier la chaîne de connexion après un TableAdapter.Remplir commande avait déjà été effectuée, ce qui explique pourquoi il a été l'ouverture de la base de données par défaut. Ce mystère a été résolu. La première partie, mais est encore un inconnu.

Merci.

OriginalL'auteur PAUL DUFRESNE | 2012-09-04