我正在部署使用vs 2008 0n XP sp3构建的winform应用程序。使用嵌入式sqlite部署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"]));
一切工作正常,我打包的应用程序与设置project.Now后,我安装的应用程序数据库中找不到,我不得不复制将数据库设置为设置项目中的Application Folder
以使其工作。
我认为数据库应该是在应用程序的DLL因为copy always
但我不能访问它。所以我到底做错了什么?
我正在怀疑我应该只是连接到不使用Application.StartupPath
根分贝的意义,但我在这里要求的最佳实践使我所做的是工作,但仍然在寻找像解决办法,所以请任何人都可以与我分享他的经验? 感谢阅读
我想这是一个“嵌入文件”问题比SQLite问题更多。 – 2010-04-22 09:38:05
是的,但是sqlite是最嵌入的数据库之一,所以大多数使用sqlite的人可能知道嵌入database.correct? – 2010-04-22 10:37:55