gpt4 book ai didi

c# - Windows 服务看不到文件

转载 作者:行者123 更新时间:2023-11-30 22:21:38 25 4
gpt4 key购买 nike

我创建了一个 Windows 服务 来为我管理一些文件。出于调试目的,我还编写了一个控制台入口点,因此我用于实际服务的所有代码都是一个独立于 Windows 服务的类。我正在使用具有流畅的 NHibernateSQLite 数据库来存储设置等。

当我运行控制台模式时,它工作得很好,但当我尝试启动该过程时却没有。我在启动进程时进行了调试,发现当 NHibernate 尝试创建 session 时,它看不到 db 文件,即使它确实存在。

我已将进程设置为以管理员身份运行,并且还尝试以启用“允许访问桌面”的本地系统帐户运行它,但它仍然无法获取数据库文件。这意味着 NHibernate 无法加载该文件,因此它会创建一个新文件,并且当我的服务尝试从数据库加载数据时失败,因为它加载了一个空白的数据库文件。

最佳答案

所以事实证明,即使我的进程文件位于特定文件夹中,它在 Windows 目录的上下文中运行,我已经添加了以下代码,现在它可以完美运行:

System.IO.Directory.SetCurrentDirectory(System.AppDomain.CurrentDomain.BaseDirectory);

关于c# - Windows 服务看不到文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14221519/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com