我正在部署一个用 vs 2008 0n XP sp3 构建的 winform 应用程序。
我创建了一个带有空架构的数据库,我将其放在项目的根文件夹和我选择的属性中Build Action
:嵌入式资源和Copy to Output directory
:始终复制。现在,我没有在 app.config connectionString 部分中使用连接字符串,而是在appSetting
:key
=“database”;中输入了一个条目。value
="mydb.db;版本=3"。
所以要创建我的connectionString
我使用:
SQLiteConnection con = new SQLiteConnection("Data Source=" + Path.Combine(Application.StartupPath, ConfigurationManager.AppSettings["database"]));
一切正常,我将应用程序与安装项目打包在一起。现在,在我安装应用程序后,找不到数据库,我不得不将数据库复制到Application Folder
安装项目中以使其工作。
我认为db应该在应用程序dll中,因为.copy always
但我无法访问它。那么我到底做错了什么?
我怀疑我应该刚刚连接到根数据库,意思是不使用Application.StartupPath
但是我在这里要求最佳实践,因为我所做的工作有效,但看起来仍然像解决方法,所以请任何人都可以与我分享他的经验吗?谢谢阅读