连接字符串设置如下:
名称: dbPersonConnectionString
类型: 连接字符串 范围: 应用
值: 数据源= | DataDirectory | \ dbPerson.sdf
当我安装&运行应用程序,它在C:\ MyApp \ Data \文件夹中查找数据库。它应该是C:\ MyApp,没有额外的\ Data文件夹。
我应该只在项目中创建Data文件夹并在该文件夹下移动DB文件,或者我只需调整| DataDirectory | - 以及如何 - ?
编辑:
string executable = System.Reflection.Assembly.GetExecutingAssembly().Location;
string path = (System.IO.Path.GetDirectoryName(executable));
AppDomain.CurrentDomain.SetData("DataDirectory",path);
答案 0 :(得分:6)
以前曾经问过这个问题。这个MSDN post提供了一个很好的概述。
它应该默认为您的二进制文件夹,您可以使用AppDomain.SetData()
进行更改。如果你改变它,最好早点做。
答案 1 :(得分:5)
AppDomain.CurrentDomain.SetData("DataDirectory", Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location));
这应该始终有效,因为Directory.GetCurrentDirectory()可能返回除可执行文件之外的其他目录
答案 2 :(得分:1)
这个解决了我的问题
AppDomain.CurrentDomain.SetData("DataDirectory", Directory.GetCurrentDirectory());