Pergunta

Eu tenho SQL Ce db em meu aplicativo, que está incluído no meu diretório app. Durante a depuração sua OK, mas quando publicado e correr com setup.exe, ele recupera "arquivo não encontrado" no diretório temporário do aplicativo é executado a partir. Eu gostaria de executar a partir da localização padrão, mas eu não sei como mudar isso.

Eu estou usando este string:

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

Quando eu executar setup.exe, o aplicativo não inicia, afirmando que em seu diretório temporário o arquivo db não foi encontrado. Quando eu executo app.exe, ele funciona. Eu não entendo isso ...: (

EDIT: Eu posso ver isso nas configurações do projeto VS, não há seqüência de conexão e não há "Data Source = | DataDirectory | \ Database.sdf"

O caminho deve ser algo como diretório local? Obrigado!

Foi útil?

Solução

Construa a sua seqüência de conexão dinamicamente. Algo parecido com isto:

string connString = string.Format("Data Source={0}; Persist Security Info=False;",
    Path.Combine(Application.StartupPath, "database.sdf"));
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top