为什么 .cshtml 更改时页面在刷新后不更新
Why does page not update after refresh when .cshtml changes
我正在尝试 Blazor
但我不明白为什么在刷新浏览器页面后更改 component
它没有更新? client
不应该像 angular
那样自我更新吗?
它只会在我重新启动 blazor
服务器时刷新。
Index.cshtml
@page "/"
<h1>Hello, world!</h1>
如果我将 <h1>
中的文本更改为 Hello people
,我保存项目并刷新页面(正如我在 Blazor
教程中所建议的那样)应该我没看到 Hello people
吗?
我猜你是运行连接了调试器的应用程序?这可以防止重新编译。您需要:
Press Ctrl-F5 to run the app without the debugger. Running with the debugger (F5) isn't supported at this time.
如果您进入“工具”>“选项”>“键盘”并在 "Show commands containing" 搜索框中搜索 "BrowserLink"。找到显示 "OtherContextMenus.BrowserLink.RefreshLinkedBrowsers" 的选项,默认设置为 CTRL+Alt+Enter。单击 "Remove",然后单击 select "Press Shortcut Keys" 输入并按 Ctrl+S。接下来(就在输入的左侧)将 "Global" 中的使用新快捷方式更改为 "Text Editor"。单击 "Ok" 直到 window 关闭。现在 Visual Studio 与保存文件和刷新链接浏览器共享 CTRL+S。
(这仅在编辑 window 中的文本编辑器 .cshtml、.css、.js 等文件是活动的 selections 时有效)警告:如果您不将其设置为全局以外的其他设置,那么它将覆盖保存的快捷方式,您将无法保存文件。
在Asp.net Core 3.0之后,使用Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation包启用运行时编译。
要启用运行时编译,应用必须:
安装 Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation
NuGet 包。
更新项目的 Startup.ConfigureServices 方法以包括对 AddRazorRuntimeCompilation 的调用:
services
.AddControllersWithViews()
.AddRazorRuntimeCompilation();
或
services.AddMvc().AddRazorRuntimeCompilation();
您应该在 razor 页面中添加或启用运行时编译,
安装包 Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation - 版本 3.1.6
安装后将启动文件设置为,
services.AddMvc().AddRazorRuntimeCompilation();
执行以下操作:
从 NuGet 安装 Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation。
将 Startup class 中的 ConfigureServices 方法更新为如下所示:
services.AddControllersWithViews().AddRazorRuntimeCompilation();
- 你很高兴。
我正在尝试 Blazor
但我不明白为什么在刷新浏览器页面后更改 component
它没有更新? client
不应该像 angular
那样自我更新吗?
它只会在我重新启动 blazor
服务器时刷新。
Index.cshtml
@page "/"
<h1>Hello, world!</h1>
如果我将 <h1>
中的文本更改为 Hello people
,我保存项目并刷新页面(正如我在 Blazor
教程中所建议的那样)应该我没看到 Hello people
吗?
我猜你是运行连接了调试器的应用程序?这可以防止重新编译。您需要:
Press Ctrl-F5 to run the app without the debugger. Running with the debugger (F5) isn't supported at this time.
如果您进入“工具”>“选项”>“键盘”并在 "Show commands containing" 搜索框中搜索 "BrowserLink"。找到显示 "OtherContextMenus.BrowserLink.RefreshLinkedBrowsers" 的选项,默认设置为 CTRL+Alt+Enter。单击 "Remove",然后单击 select "Press Shortcut Keys" 输入并按 Ctrl+S。接下来(就在输入的左侧)将 "Global" 中的使用新快捷方式更改为 "Text Editor"。单击 "Ok" 直到 window 关闭。现在 Visual Studio 与保存文件和刷新链接浏览器共享 CTRL+S。
(这仅在编辑 window 中的文本编辑器 .cshtml、.css、.js 等文件是活动的 selections 时有效)警告:如果您不将其设置为全局以外的其他设置,那么它将覆盖保存的快捷方式,您将无法保存文件。
在Asp.net Core 3.0之后,使用Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation包启用运行时编译。 要启用运行时编译,应用必须:
安装 Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation
NuGet 包。
更新项目的 Startup.ConfigureServices 方法以包括对 AddRazorRuntimeCompilation 的调用:
services
.AddControllersWithViews()
.AddRazorRuntimeCompilation();
或
services.AddMvc().AddRazorRuntimeCompilation();
您应该在 razor 页面中添加或启用运行时编译,
安装包 Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation - 版本 3.1.6
安装后将启动文件设置为,
services.AddMvc().AddRazorRuntimeCompilation();
执行以下操作:
从 NuGet 安装 Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation。
将 Startup class 中的 ConfigureServices 方法更新为如下所示:
services.AddControllersWithViews().AddRazorRuntimeCompilation();
- 你很高兴。