| DataDirectory目录|在项目属性>设置

时间:2011-07-27 11:39:23

标签: c#

连接字符串设置如下:

  

名称:   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);

3 个答案:

答案 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());