[C#] ASP.NET Core 6.0 - 在開發中遇到無限循環只出現 熱重新載入,點選"編輯"跟"停止"都無效

2023-02-01

最近一直遇到這個問題,剛剛測試一下算是解決了,就筆記一下

平常時候我都是用 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:

https://www.nuget.org/packages/Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation/6.0.13?_src=template

https://learn.microsoft.com/en-us/aspnet/core/mvc/views/view-compilation?view=aspnetcore-6.0&tabs=visual-studio#enable-runtime-compilation-for-all-environments

https://stackoverflow.com/questions/74248107/enable-edit-and-continue-option-does-not-work-in-asp-net-core-6-application



當麻許的超技八 2014 | Donma Hsu Design.