Domanda

Ho SQL Ce db nella mia app, che è incluso nella mia directory dell'app. Durante il debug è OK, ma quando viene pubblicato ed eseguito con setup.exe, recupera "file non trovato" nella directory temporanea da cui viene eseguita l'app. Vorrei correre da una posizione standard, ma non so come cambiarlo.

Sto usando questa stringa:

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

Quando eseguo setup.exe, l'app non si avvia mai, affermando che nella sua directory temporanea non è stato trovato il file db. Quando eseguo app.exe, funziona. Non lo capisco ... :(

EDIT: vedo che nelle impostazioni del progetto VS c'è una stringa di connessione e c'è " Origine dati = | DataDirectory | \ Database.sdf "

Il percorso dovrebbe essere qualcosa come la directory locale? Grazie!

È stato utile?

Soluzione

Crea la stringa di connessione in modo dinamico. Qualcosa del genere:

string connString = string.Format("Data Source={0}; Persist Security Info=False;",
    Path.Combine(Application.StartupPath, "database.sdf"));
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top