Question

J'ai la base de données SQL Ce dans mon application, qui est incluse dans mon répertoire d'applications. Lors du débogage, ses résultats sont corrects, mais une fois publiés et exécutés avec setup.exe, il récupère le fichier "non trouvé". dans le répertoire temporaire l'application est exécutée à partir. J'aimerais courir depuis un emplacement standard, mais je ne sais pas comment le changer.

J'utilise cette chaîne:

SqlCeConnection connection = new SqlCeConnection("Data Source=database.sdf;Persist Security Info=False;");

Lorsque j'exécute le fichier setup.exe, l'application ne démarre jamais, indiquant que le fichier de base de données était introuvable dans son répertoire temporaire. Quand je lance app.exe, cela fonctionne. Je ne comprends pas ...: (

EDIT: je vois que, dans les paramètres du projet VS, il existe une chaîne de connexion et qu'il existe "Source de données = | DataDirectory | \ Database.sdf"

Le chemin devrait ressembler à un répertoire local? Merci!

Était-ce utile?

La solution

Construisez votre chaîne de connexion de manière dynamique. Quelque chose comme ça:

string connString = string.Format("Data Source={0}; Persist Security Info=False;",
    Path.Combine(Application.StartupPath, "database.sdf"));
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top