アプリ開発ときどきアウトドア

主にJavaを使ったアプリ開発やトラブルシューティング等のノウハウ、キャンプや登山の紹介や体験談など。

1. システムエンジニアリング ASP.NET Core 実装技術

ASP.NET Core: 変更ページを実行環境に反映

投稿日:2020年3月20日 更新日:

ASP.Net Core(3.0)の開発で、ページ(cshtml)を編集しながらページデザインを確認したい。
既定ではページを変更しても実行環境に反映れずサーバの再起動が必要となり開発効率が悪い。
サーバを再起動しなくてもブラウザで変更ページを確認できる方法を説明します。

設定方法

NuGetで”Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation”パッケージを追加し、次のようにStartup.csのサービス構成でAddRazorRuntimeCompilation()を追加します。
このような設定はあくまでも開発環境のみの使用に留めたいので、デバック時にのみ有効となるよう#if/#else/#endif等のプリプロセッサを使用しています。(DEBUG変数は、ビルドやリリース等のビルド構成プロパティに応じて自動的に設定されます。)

        public void ConfigureServices(IServiceCollection services)
        {
#if !DEBUG
            services.AddControllersWithViews();
#else
            services.AddControllersWithViews().AddRazorRuntimeCompilation();
#endif
        }

なお、この方法はASP.Net Core 3.0以降で有効です。反映できるのはページ変更のみで、コントローラ等のクラスの変更を反映するためにはサーバの再起動が必要です。

参考)ASP.Net Core 2系の変更方法

未検証ですが、ASP.NET Core 2系では、AllowRecompilingViewsOnFileChangeオプションを使用するそうです。

        public void ConfigureServices(IServiceCollection services)
        {
            services.AddMvc().AddRazorOptions(options => 
            {
                options.AllowRecompilingViewsOnFileChange = true;
            });
        }

参考)パッケージの追加方法

コマンドラインから実行する方法等もありますが、GUIベースの操作の場合、[ツール]-[NuGetパッケージマネージャー]-[ソリューションのNuGetパッケージの管理]で次のマネージャを開けます。
Razor.RuntimeCompilationを選択し、プロジェクトをチェックして[インストール]をクリックします。



(adsbygoogle = window.adsbygoogle || []).push({});


(adsbygoogle = window.adsbygoogle || []).push({});

-1. システムエンジニアリング, ASP.NET Core, 実装技術

執筆者:

関連記事

テキストファイルマスクツール

本番環境での性能検証でNGになってしまった。 どの処理でどれほどの処理時間がかかっているかを把握するためにログレベルを変更して、ログを取得した。 対応方法を自社の担当者と検討するために、本番環境からこ …

slf4jとlog4j2を使たデバッグログの出力方法

Webアプリやスタンドアロンアプリの開発でデバッグログやトレースログを出したい場合があります。 とりあえず、ロガーのログレベルをdebugやtraceに下げればいいや、と設定してもログが出力されない場 …

マスタデータ生成ツール

開発や結合試験、本番環境等で使用するマスタデータをExcelで管理することがあります。 そのようなExcelファイルからDBに登録するためのインサート文を作成するために、いつもツールに悩むので作成して …

PowerPointの削除できない個人情報を消す

PowerPointで「個人情報の削除」を実行するとこで、作成者や会社名等の個人情報を削除できます。しかしながら、特定の項目に入った個人情報については、PowerPointやWindowsの標準機能で …

JavaでのZIP暗号化の考察

法務系業務を行うシステムを設計するにあたり、次のような要件がありました。 CSVファイルの暗号化方式として、当初からパスワード付きZIPファイルの使用を検討していたため、ZIP圧縮を使用する前提で調査 …