Why does page not update after refresh when .cshtml changes
I am trying out Blazor
and i do not understand why when changing a component
after refreshing the browser page it does not update ? Shouldn't the client
update itself similar to how angular
does?
It only refreshes when i restart the blazor
server.
Index.cshtml
@page "/"
<h1>Hello, world!</h1>
If i change lets say the text inside the <h1>
to Hello people
, i save the project and i refresh the page ( as i am advised in the Blazor
tutorial) shouldn't i see Hello people
?
After Asp.net Core 3.0, Runtime compilation is enabled using the Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation package. To enable runtime compilation, apps must:
Install the Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation
NuGet package.
Update the project's Startup.ConfigureServices method to include a call to AddRazorRuntimeCompilation:
services
.AddControllersWithViews()
.AddRazorRuntimeCompilation();
or
services.AddMvc().AddRazorRuntimeCompilation();
I guess you are running the app with the debugger connected? this prevents the recompilation. You need to:
Press Ctrl-F5 to run the app without the debugger. Running with the debugger (F5) isn't supported at this time.
https://github.com/dotnet/aspnetcore/issues/5456
You should add or enable runtime compilation in razor pages,
Install-Package Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation -Version 3.1.6
After installing set the startup file as ,
services.AddMvc().AddRazorRuntimeCompilation();
do the following:
-
Install the Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation from NuGet.
-
Update the ConfigureServices method in the Startup class to look like below:
services.AddControllersWithViews().AddRazorRuntimeCompilation();
- You good to go.