WinForms VB.Net项目SQLite数据库部署与GitHub发布问题
解决方案:VB.Net WinForms SQLite 依赖与路径配置问题
一、修复 System.Data.SQLite.dll 缺失异常
- 优先使用NuGet管理依赖
直接通过NuGet安装System.Data.SQLite.Core或完整的System.Data.SQLite包,NuGet会自动处理依赖项的复制、架构匹配(x86/x64/Any CPU),避免手动引用dll的错误。 - 手动引用dll的补救配置
若已手动添加dll引用,在解决方案资源管理器中找到System.Data.SQLite.dll,右键→属性,将复制到输出目录设置为始终复制,确保编译时dll自动同步到bin/Debug或bin/Release目录。 - 匹配架构版本
确认项目的平台目标(项目属性→生成→平台目标)与SQLite dll的架构一致(例如项目设为x86,就使用x86版本的dll)。
二、配置项目根目录App_Data下的数据库路径
步骤1:设置数据库文件的项目属性
- 在项目根目录创建
App_Data文件夹并放入myDatabase.db3 - 在解决方案资源管理器中右键
myDatabase.db3→属性:- 生成操作设为
内容 - 复制到输出目录设为
始终复制
这样编译时,App_Data文件夹和数据库文件会自动复制到bin/Debug或bin/Release目录,同时因为文件在项目根目录,不会被Visual Studio默认的.gitignore规则排除,可正常推送到GitHub。
- 生成操作设为
步骤2:修改路径代码
不要使用硬编码的相对路径,通过程序集基目录构建路径,确保开发和发布环境都能正确寻址:
' 获取程序运行的基目录(即exe所在目录) Dim baseDir As String = AppDomain.CurrentDomain.BaseDirectory ' 拼接数据库文件完整路径 Public dbFullPath As String = System.IO.Path.Combine(baseDir, "App_Data", "myDatabase.db3") Public conStr As String = String.Format("Data Source = {0}; Version = 3;", dbFullPath)
三、Git跟踪验证
检查项目根目录的.gitignore文件,默认规则仅排除bin、obj等编译目录,项目根的App_Data文件夹会被Git自动跟踪,无需额外修改.gitignore。
内容的提问来源于stack exchange,提问作者alejandroMAD
相关产品推荐
相关产品推荐

