不像原来的C开发,所有错误都有迹可循(概率性问题除外),高级语言封装了太多细节,使用更方便,但是定位更难。
这次的错误,调试时有日志,发布后没有日志。
找了很多说明,一般都是说怎么配置怎么配置,但是无效。
第一个有效的方案是,把log4net.config文件拷贝到发布的根目录下,果然可以。我注意到,发布时该文件是被放在bin目录里的。
又找到另一个帖子,建议将该配置文件,属性设置为“内容”,拷贝方式选择为“始终复制”,我设置了一下,这样果然发布的文件,直接就在根目录下了。
反过来想这个问题,其实还是出在配置上,要么配置文件没找到,要么文件不对。
文件没找到,考虑到在配置时,配置的方法是
`[assembly: log4net.Config.XmlConfigurator(ConfigFile = "Log4Net.config", Watch = true)]`,
没有路径,我应该想到是跟路径有关才对,本机调试这个文件在根目录,因为发布文件拷贝的原因,文件被拷贝到bin目录下了。所以修改了文件类型为内容,相当于强制拷贝到根目录下。所以问题解决。
因为对整体缺乏认识,进而直接忽略了可能的分析过程,相当于在困难下保持冷静的能力还不足吧。。
原文地址:https://www.cnblogs.com/mosakashaka/p/12608010.html
时间: 2024-10-21 07:22:08