none
vs2019调试中修改cshtml网页无效? RRS feed

  • 问题

  • vs2019调试中修改cshtml网页无效,.net core mvc 网站,比如修改<title>里的东西,改了刷新浏览器还是无效,不是缓存问题,清了缓存还是无效。
    2019年12月19日 3:26

全部回复

  • Hi 哀霜行者,

    欢迎来到MSDN论坛。

    根据你的描述,我需要向你确认些事情,请问你现在使用的是.NET Core项目目标框架版本是多少?你可以通过右击项目 -> 属性 -> 应用 -> 目标框架 查看项目版本, 截图如下:

    此外,根据我这边的测试,我认为这是由目标框架版本导致的,如果你的项目版本是.NET Core 2.2及以下,你可以直接在调试中进行修改,但如果是.NET Core 3.0及以上,你需要添加Razor Runtime compilation NeGet包实现此功能,建议你安装与项目框架版本一致的NeGet包,你可以参考此文档进行添加。或者右击项目 -> Manage NeGet Package...-> 搜索发现Razor Runtime compilation NeGet包,截图如下:

    希望以上建议对你有帮助并期待你的反馈。

    Best Regards,

    Anna


    如果您对Visual Studio Microsoft Azure相关产品感兴趣,请点击此链接,或扫描以下二维码注册获取相关信息。



    2019年12月19日 9:29
  • Hi 哀霜行者

    你的问题解决了么?

    除了安装Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation 这个nuget包之外,你还需要在启动配置页中添加对实时调试的调用:

    >>>>>需要在例如在 startup.cs 中的方法ConfigureServices添加以下代码:

    services.AddRazorPages().AddRazorRuntimeCompilation();

    以上方式全局定义,如果你想要有条件的启动运行时编译,请尝试以下步骤:

    1) 首先你需要在csproj中对引用包添加条件,在debug调试时引用,例如:

    <PackageReference Include="Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation" Version="3.1.0" Condition="'$(Configuration)' == 'Debug'" />

    2) 更新项目的Startup.ConfigureServices方法以包括对的调用AddRazorRuntimeCompilation。有条件地执行AddRazorRuntimeCompilation。请参考:

    public IWebHostEnvironment Env { get; set; }

    public void ConfigureServices(IServiceCollection services)
    {
        IMvcBuilder builder = services.AddRazorPages();

    #if DEBUG
        if (Env.IsDevelopment())
        {
            builder.AddRazorRuntimeCompilation();
        }
    #endif

        // code omitted for brevity
    }

    期待你的任何反馈。


    如果您对Visual Studio Microsoft Azure相关产品感兴趣,请点击此链接,或扫描以下二维码注册获取相关信息。



    2019年12月24日 9:10