我以前有一个正在运行的控制台应用程序项目,该项目将读取和写入设置到本地SQLite数据库文件。
基于此项目,我通过移植类将其转换为Windows服务项目,并使用ServiceBase类创建服务。但是,每次运行该服务时,都会不断收到消息SqliteException
SQLite Error 1: 'no such table: Settings'.
使用DB Browser for SQLite
,我确实看到数据库文件中存在该表,所以我不确定发生了什么。
我尝试使用Windows服务使用自己的帐户进行测试,我曾尝试授予本地系统访问我的build文件夹以进行测试。
我不确定这是否有帮助,但我还包含了DbContext文件的一部分:
public class CDIContext : DbContext
{
public DbSet<Setting> Settings { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder options)
{
options.UseSqlite("Data Source=ApplicationData.db");
}
}
public class Setting
{
[Key]
public Int32 Id { get; set; }
[Required]
public Int64 LastUpdateEpochUTC { get; set; }
}
我以前有一个正在运行的控制台应用程序项目,该项目将读取设置并将设置写入本地SQLite数据库文件。基于此项目,我通过移植...将其转换为Windows服务项目...
发现Windows Service Working目录位于以下任一位置:C:\Windows\System32
或C:\Windows\SysWOW64
,而不是我的应用程序目录