Visual Studio 2022安装程序项目部署后报错:无法加载程序集Microsoft.Data.Sqlite, Version=9.0.7.0
Visual Studio 2022安装程序项目部署后报错:无法加载程序集Microsoft.Data.Sqlite, Version=9.0.7.0
最近我在Visual Studio 2022里开发带安装程序的项目时,踩了个实打实的坑,跟大家唠唠我的经历和解决办法:
问题场景
我项目里用到了SQLite数据库,本地在VS中直接运行项目完全没毛病,连数据库、读写数据都顺畅得很。但当我用安装程序项目把部署包安装到同一台开发机器上,再运行生成的.exe文件时,直接弹出了报错:
Could not load file or assembly 'Microsoft.Data.Sqlite, Version=9.0.7.0, Culture=neutral' or one of its dependencies. The system cannot find the file specified.
我特意检查了程序启动目录,确认数据库文件savings.db确实在里面,连接字符串的写法也没出错:
using (SqliteConnection connection = new SqliteConnection("Data Source=" + Application.StartupPath + @"\savings.db"))
排查与解决
一开始我翻了安装程序项目的配置,也去C:\Program Files\的安装目录里核对了文件,发现目标目录里只放了主程序和数据库文件,完全缺失了Microsoft.Data.Sqlite相关的依赖组件——毕竟本地调试时VS会自动帮我们加载这些依赖,但安装程序不会默认把所有关联依赖都打包进去。
最后我把所有和Microsoft.Data.Sqlite相关的依赖文件都手动添加到了安装程序的目标输出目录中,重新生成安装包部署后,程序终于正常跑起来了!
内容来源于stack exchange




