gpt4 book ai didi

razor - 在 dotnet core 3.0 上不会自动检测对 *.cshtml 文件的更改

转载 作者:行者123 更新时间:2023-12-04 12:41:55 25 4
gpt4 key购买 nike

重现问题的步骤:

下载并安装 dotnet core 3.0

  • 创建新项目:dotnet new webapp -n MyApp
  • 运行应用 dotnet run
  • 导航至 http://localhost:5000/Privacy
  • 编辑隐私页面 MyApp\Pages\Privacy.cshtml
  • 刷新
  • 工具包不会获取更改并呈现旧页面。

  • dotnet core 2.2(新安装)的相同流程会导致页面更新。
    是否有一个标志,需要在配置中的某处设置才能使自动检测为 3.0 工作,还是这是一个错误?

    最佳答案

    在搜索该问题的根本原因时,我遇到了那个 SO 问题。要解决该问题,您需要添加 Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation NuGet 包到您的项目并修改您的 Startup.cs像下面。
    ConfigureServices Startup.cs的方法
    对于 ASP.NET Core MVC:

    IMvcBuilder mvc = services.AddControllersWithViews();
    mvc.AddRazorRuntimeCompilation();
    对于 ASP.NET Core Razor 页面:
    IMvcBuilder mvc = services.AddRazorPages();
    mvc.AddRazorRuntimeCompilation();
    PS:不要忘记使用这个功能 'dotnet-watch'仅用于开发环境,因为在大多数情况下它对生产环境没有意义。
    来源: https://docs.microsoft.com/en-us/aspnet/core/migration/22-to-30?view=aspnetcore-3.0&tabs=visual-studio

    2021 更新(更好的解决方案):您不需要执行 AddRazorRuntimeCompilation Startup.cs 中的方法.您可以通过向项目调试配置添加值来保持此功能运行。
    请将新的环境变量添加到 Project Properties > Debug > Environment variables 姓名: ASPNETCORE_HOSTINGSTARTUPASSEMBLIES
    值: Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation

    关于razor - 在 dotnet core 3.0 上不会自动检测对 *.cshtml 文件的更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54349765/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com