WPF 通過 dotnet core 發佈單文件時 log4net 無法使用

在使用 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 ),不得用於商業目的,基於本文修改後的作品務必以相同的許可發佈。如有任何疑問,請與我聯繫

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章