WPF 通过 dotnet core 发布单文件时 log4net 无法使用

柔情痞子 提交于 2020-08-14 20:25:44

在使用 dotnet core 版本的 WPF 可以将发布文件打包为一个exe文件,但是此时小伙伴发现 log4net 无法运行,因为 log4net 说找不到配置文件

这是 子铭 小伙伴问我的问题,我尝试创建一个 dotnet core 的 WPF 程序,使用下面代码创建的

dotnet new wpf -o HudidaneahaFekujarchebea

在从另一个项目复制了 log4net 的配置的时候,我发现了一个细节,在运行 log4net 默认会读取 Log.config 配置文件,而读取的文件夹是应用程序所在的文件夹,如果通过下面代码将软件发布单文件,那么因为 log4net 需要读取而配置文件找不到而不能使用

dotnet publish -r win10-x64 /p:PublishSingleFile=true 

解决方法是

  • 启动时写入配置文件
  • 重定向配置文件
  • 通过代码配置
  • 不用log4net都成

关于写日志请看 程序猿修养 日志应该如何写

dotnet core 发布只有一个 exe 的方法

我搭建了自己的博客 https://blog.lindexi.com/ 欢迎大家访问,里面有很多新的博客。只有在我看到博客写成熟之后才会放在csdn或博客园,但是一旦发布了就不再更新

如果在博客看到有任何不懂的,欢迎交流,我搭建了 dotnet 职业技术学院 欢迎大家加入

如有不方便在博客评论的问题,可以加我 QQ 2844808902 交流

知识共享许可协议
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接:http://blog.csdn.net/lindexi_gd ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请与我联系

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!