protected TagFileService()
        {
#if !DISPOSE_CONTEXT_IMMEDIATELY
            var builder = new DbContextOptionsBuilder <TagFileContext>();
            builder.UseSqlite($"Data Source={TagFileConfig.DbPath}");
            context = new TagFileContext(builder.Options);
#endif
        }
        /// <summary>
        /// 确保数据库和仓库文件夹已创建(异步版本)
        /// </summary>
        public static async Task EnsureDbAndFolderCreatedAsync()
        {
            //ensure folders created
            Directory.CreateDirectory(TagFileConfig.TagFileRootPath);
            Directory.CreateDirectory(TagFileConfig.RepoPath);
            Directory.CreateDirectory(TagFileConfig.TempRecyclePath);
            //ensure db created
            var builder = new DbContextOptionsBuilder <TagFileContext>();

            builder.UseSqlite($"Data Source={TagFileConfig.DbPath}");
            using (var context = new TagFileContext(builder.Options))
            {
                await context.Database.EnsureCreatedAsync();
            }
        }