WPF 通過 dotnet core 發布單文件時 log4net 無法使用
- 2020 年 2 月 19 日
- 筆記
在使用 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都成
本作品採用 知識共享署名-非商業性使用-相同方式共享 4.0 國際許可協議 進行許可。歡迎轉載、使用、重新發布,但務必保留文章署名林德熙(包含鏈接: https://blog.lindexi.com ),不得用於商業目的,基於本文修改後的作品務必以相同的許可發布。如有任何疑問,請 與我聯繫 。