Skip to content

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

Updated: at 08:22,Created: at 09:11

在使用 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

解决方法是

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

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


知识共享许可协议

原文链接: http://blog.lindexi.com/post/WPF-%E9%80%9A%E8%BF%87-dotnet-core-%E5%8F%91%E5%B8%83%E5%8D%95%E6%96%87%E4%BB%B6%E6%97%B6-log4net-%E6%97%A0%E6%B3%95%E4%BD%BF%E7%94%A8

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