.NET Core 3.0: Razor ビューは変更時に自動的に再コンパイルされません 質問する

.NET Core 3.0: Razor ビューは変更時に自動的に再コンパイルされません 質問する

によるとドキュメントデフォルトでは、ASP.NET Core 3.0 のローカル環境での変更時に Razor ビューが再コンパイルされる必要があります。

ただし、私のプロジェクトではローカルではこれが実行されません。ローカルでデバッグしているときにビューを変更して更新しても、変更は反映されません。ソリューションを停止して再実行し、変更を確認する必要があります。

私は、Razor ページを使用して、ASP.NET Core 3.0.0 Preview 2 を搭載した Visual Studio 2019 の既定の ASP.NET Core Web アプリケーション テンプレートでこれを実行しています。この機能を有効にするには設定を変更する必要があるかどうか、ご存知ですか?

ベストアンサー1

ASP.NET Core 3 リリース バージョンの場合:

   services.AddControllersWithViews().AddRazorRuntimeCompilation();

https://learn.microsoft.com/en-us/aspnet/core/mvc/views/view-compilation?view=aspnetcore-3.0

リンクから引用すると、ローカル開発の場合のみ条件付きで有効にすることもできます。

ランタイム コンパイルは、ローカル開発でのみ使用できるように有効にすることができます。この方法で条件付きで有効にすると、公開された出力は次のようになります。

コンパイルされたビューを使用します。
サイズが小さくなります。
運用環境ではファイル ウォッチャーは有効になりません。

   public Startup(IConfiguration configuration, IWebHostEnvironment env)
    {
        Configuration = configuration;
        Env = env;
    }

    public IWebHostEnvironment Env { get; set; }
    public IConfiguration Configuration { get; }

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

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

おすすめ記事