前段时间公司一个项目,用WPF做的,开发环境是:VS2019社区版、WIN7X64/WIN10X64。
运行环境是:Server2012R2、WIN7、WIN10。
有很多配置信息是保存在程序目录的。
在实施的过程中遇到了一个奇怪的问题:程序随开机自启动后,系统有部分功能出现了异常,如果是手动运行,则不会有任何问题。
一开始怀疑是.NET环境问题,但在不同系统、不同.NET环境下,问题都存在,因此环境问题造成问题的可能性变得微乎其微。
输出日志后进行排查,发现在读取某个配置文件的时候,报了object null的错误,发现问题后,立即对日志文件和该类进行测试,却没有发现任何问题,对系统日志进行查看,也没有发现未捕捉的错误。
这时我忽然意识到有些配置文件在开机读取时并没有出现问题,所以将两个类进行了对比,发现除了一个用的是绝对路径,一个用的是相对路径外,并没有明显区别。
一开始没有觉得用相对路径会造成问题,所以这个问题,让我非常困扰,但实在找不到问题了,所以就判断是否有根目录,如果没有,就改为绝对路径。
更新后问题解决。