要获得Windows服务项目以从SQLite数据库读取和写入,我需要什么配置?

问题描述 投票:0回答:1

我以前有一个正在运行的控制台应用程序项目,该项目将读取和写入设置到本地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服务项目...

sqlite service entity-framework-core
1个回答
0
投票

发现Windows Service Working目录位于以下任一位置:C:\Windows\System32C:\Windows\SysWOW64,而不是我的应用程序目录

© www.soinside.com 2019 - 2024. All rights reserved.