【发布时间】:2013-01-04 01:10:51
【问题描述】:
我的 WPF 应用程序中有一个文件夹“数据”,其中有一个 .sdf 数据库文件。 该文件是我的应用程序的数据库。
在开发我的应用程序时,我使用了一个到我的数据库的固定路径,如下所示:
'Data Source=P:\Dropbox\Projects\MembersApp\MembersApp\bin\Debug\Data\RF_db.sdf'
现在我想使用 |DataDirectory|值,以便应用程序在安装应用程序时始终可以找到数据库。我在 StackOverflow 上找到了这个解决方案:
string executable = System.Reflection.Assembly.GetExecutingAssembly().Location;
string path = (System.IO.Path.GetDirectoryName(executable));
AppDomain.CurrentDomain.SetData("DataDirectory", path);
string dataSourceHome = "Data Source=|DataDirectory|\RF_db.sdf";
但是在最后一行“错误的编译常量值”上给了我一个错误。我试过了:
string dataSourceHome = @"Data Source=|DataDirectory|\RF_db.sdf";
但这不起作用。
知道这里有什么问题吗?
【问题讨论】:
-
我在这里 [StackOverflow][1] 找到了适合我的解决方案。只需将我的“Data”文件夹重命名为“App_Data”并使用以下代码:string data = @"Data Source=App_Data\RF_db.sdf"; LocalConnection = new SqlCeConnection(data);当我在本地运行我的应用程序时,这对我有用。但是,当我通过 clickonce 部署我的应用程序时,它会失败。 [1]:stackoverflow.com/questions/12932963/…