我的app中有SQL Ce db,它包含在我的app目录中。虽然调试好了,但是当发布并运行setup.exe时,它会检索“找不到文件”。在临时目录中运行应用程序。我想从标准位置运行,但我不知道如何更改它。

我正在使用此字符串:

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

当我运行setup.exe时,应用程序永远不会启动,说明在其临时目录中找不到db文件。当我运行app.exe时,它可以工作。我不明白...... :(

编辑:我可以看到在VS项目设置中,有连接字符串,并且有“Data Source = | DataDirectory | \ Database.sdf”

路径应该像本地目录一样?谢谢!

有帮助吗?

解决方案

动态构建连接字符串。像这样:

string connString = string.Format("Data Source={0}; Persist Security Info=False;",
    Path.Combine(Application.StartupPath, "database.sdf"));
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top