簡體   English   中英

Visual Sstudio 2022 Current 中的熱重載不適用於現有的 Blazor 應用程序

[英]Hot reload in Visual Sstudio 2022 Current not working for existing Blazor application

在使用 VS 2022 預覽版進行多次迭代后,我將其刪除並在可用時安裝了 VS 2022 Current。

現有的 Blazor 托管應用程序不會在文件保存或按下熱重載按鈕時熱重載。 它在預覽版本中重新加載“很好”。 不管我是在調試還是不調試的情況下運行它都沒有關系。

使用新安裝的版本創建的新應用程序會熱重載。

我在 *.csproj 或 launchSettings.json 文件中沒有看到任何重要的區別。 他們都針對 net6.0。 我還刪除了 .vs 目錄並清理了解決方案。

唯一的區別是我的項目在新應用程序模板中使用 Program.cs 和 Startup.cs 與僅使用 Program.cs,但這並不重要。 或者,是嗎?

是什么阻止 Visual Studio 熱重載現有應用程序?

更新

切換到單個 Program.cs 和 WebApplication builder 確實有所幫助。 現在熱重載無需調試即可工作。 調試 VS 說它應用了更改,但它們沒有應用到屏幕上。

我仍然想知道為什么需要進行此更改以及如何在調試時啟用熱重載?

對於您的問題,目前 Blazor WebAssembly 僅在不調試時支持熱重載。 這是一種記錄在這里: https : //docs.microsoft.com/en-us/aspnet/core/test/hot-reload?view=aspnetcore-6.0

在 Visual Studio 2022 GA (17.0) 中,僅在沒有調試器的情況下運行時才支持熱重載。

我在嘗試診斷為什么我自己現有的 Blazor WebAssembly ASP.Net Core 托管應用程序不會熱重載時發現了您的 Q,在嘗試了各種事情 4-5 小時后,我終於發現有一個對類庫的項目引用仍然針對 .NET 5。在我的情況下,不再需要此參考,刪除它可以解決我的問題,並且我的 Hot Reload 輸出再次顯示。

(Web assembly): Hot reload session started

根據我的測試,如果一個 .NET 6 引用的項目又引用了一個 .NET 5 項目,這也會將該依賴項引入混合中,需要刪除或升級。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM