我有一个文件夹'数据'在我的WPF应用程序中有一个.sdf数据库文件。 这个文件是我的应用程序的数据库。来自WPF的数据库连接
在开发我的软件,我用这样一个固定的路径到我的分贝:
'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]:http://stackoverflow.com/questions/12932963/how-to-set-a-relative-path-to-a-sql-server-compact-database – PitAttack76