[C#] ASP.NET Core 6.0 - 在開發中遇到無限循環只出現 熱重新載入,點選"編輯"跟"停止"都無效
最近一直遇到這個問題,剛剛測試一下算是解決了,就筆記一下
平常時候我都是用 Ctrl+F5 測試東西,但是有時候要追蹤錯誤就會按下 F5 逐步偵錯
結果遇到錯誤點的時候跳出這樣的畫面
這時候你按下編輯或是停止都無法操作,網路上找了一下解法,真的很詭異的問題偶然會發生,但是我記得我是只有在寫 ASP.NET 6 才有碰到
這時候我發現有錯誤訊息
StreamJsonRpc.RemoteInvocationException: 指定的引數超出有效值的範圍。
參數名稱: position
於 StreamJsonRpc.JsonRpc.<InvokeCoreAsync>d__143`1.MoveNext()
--- 先前擲回例外狀況之位置中的堆疊追蹤結尾 ---
於 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
於 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
於 Microsoft.CodeAnalysis.Remote.BrokeredServiceConnection`1.<TryInvokeAsync>d__16`1.MoveNext()
RPC server exception:
System.ArgumentOutOfRangeException: 指定的引數超出有效值的範圍。
但是我停駐點是
沒道理吧,怎麼錯也不可能錯這地方
我用了一下方法解決了,給後面碰到的人
1. 透過 nuget 安裝 Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation ,如果你是 6 就是安裝 6.x , 7 的版本他也不會給你裝
2.修改 專案下 Properties/launchSettings.json,在我標示的位置加入這一行
"ASPNETCORE_HOSTINGSTARTUPASSEMBLIES": "Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation"
3.修改 Program.cs
之後執行起來看看可不可以,如果不行就
關閉 Visual Studio 重新開啟專案
我這邊測試目前就沒問題了提供給碰到此問題的人..
reference: