VSCode偵錯Web專案時,瀏覧器未自動啟動

今天在公司開了新的.NET 6 MVC專案設定好Program.cs,加上套件Serilog(Logger)、EF Core 6(ORM)後,發現VSCode無法在F5後自動開啟瀏覧器。針對這個問題查了一下,查出問題是源自我設定LogLevel時把Microsoft覆寫為了 Fatal。

根據這篇文件,VSCode在執行launch.json設定的工作時,serverReadyAction區塊會在檢測Debug Console輸出了指定文字後,抓出指定的字串(網址)後塞入預設瀏覧器。這就是問題所在,Now listening on: http....是在Information層級輸出,而我把它調成Fatal後就沒了。這導致VSCode無從抓出網址,也不知道WebServer已就緒。

"serverReadyAction": {
     "action": "openExternally",
     "pattern": "\\bNow listening on:\\s+(https?://\\S+)"
},

解決方法也很簡單,把Microsoft的LogLevel調成Information以上就行了,確保Debug Console會輸出指定的字串。

appsettings.json

{
  "Serilog": {
    "MinimumLevel": {
      "Default": "Debug",
      "Override": {
        "Microsoft": "Information",  ← Check This
        "Microsoft.AspNetCore": "Warning"
      }
    },
    "Enrich": [ "FromLogContext" ],
    "WriteTo": [
      {
        "Name": "Console",
...

參考資料

沒有留言:

張貼留言

目錄