背景:

.NetCore Web项目需要使用sqlite,在本地使用没有问题,但是挂在服务端的docker上就报了这个错误

appsettings.json中的路径是:

"ConnectionStrings": {

                "sqliteConnection": "Data Source=demodb.sqlite"

}

 

就是当前目录,于是在docker上的app下查看,发现 demodb.sqlite 这个文件确实是存在的

 

ls -l 执行一遍,发现 demodb.sqlite该文件的大小为0! 也就是说这个文件是空的,

 

原来sqlite在找不到数据库的情况下会自动建一个新的数据库,也就是说在dotnet build 或者是publish的时候并没有把源代码路径下的demodb.sqlite文件拷贝过去,导致找不到文件,然后新建了一个,导致该报错

 

解决方案:

在解决方案中找到该文件,右键属性,复制到输出目录,现在始终复制

 

 

 

 

 

 

 

 

 

 

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐