最新バージョン2.2で.NET Core MVCを構築しています。 CSHTMLファイルに変更を加えてページを更新すると問題が発生しますが、変更はブラウザに反映されません。変更を確認するには、プロジェクトを再起動する必要があります。これはしばらくの間起きていたので、この問題の原因がどのような変化なのか正確にはわかりません。
クロムの「空のキャッシュとハードリロード」だけでなく、他のブラウザーも使用できませんでした。これは、WindowsとMacでVisual Studio for MacとVS Codeの両方を使用して発生します
デフォルトの.Net Coreプロジェクトでは正常に動作するため、プロジェクトの途中で変更されたものでなければなりません。この問題をデバッグするためにどこから始める必要があるのでしょうか?私はStartup.cs
and Program.cs
解像度なし。
ASP.NET Core 2.2で変更が行われたようです(この変更についての発表はありません)。 「開発」環境で明示的に実行していない場合、Razorビューがコンパイルされ、.cshtmlに加えられた変更は表示されません。
ただし、次のようにStartupクラスでいくつかの設定を使用してこれをオフにすることができます。
services.AddMvc().AddRazorOptions(options => options.AllowRecompilingViewsOnFileChange = true);
ASP.NET Core 3.0(まだプレビュー中!)RazorViewEngineOptions.AllowRecompilingViewsOnFileChange
が利用できない(またはaccessibeではない-チェックする時間がなかった) 。
アプリの実行中にビューを更新しても機能しなかったことに驚いて、次の解決策を見つけました(リリース時に状況が変わる可能性があることに注意してください!):
Startup.cs
に次を追加します。
services.AddControllersWithViews()。AddRazorRuntimeCompilation();
これが 完全な説明 好奇心の強い人のためです...
HTH
コマンド dotnet watch run
プロジェクトはすべての変更後に再起動されます
以下は、ビューが別のプロジェクトにあったときに役立ちました。
if(HostingEnvironment.IsDevelopment()){ // only in development (optional)
services.AddMvc().AddRazorOptions(o => {
o.FileProviders.Add(new PhysicalFileProvider(PATH_TO_PROJECT));
});
}
2.2を使用していると確信していますか?このバグである可能性があるため、csprojを確認してください https://github.com/aspnet/Razor/issues/2466RazorCompileOnBuild
more info https: //docs.Microsoft.com/en-us/aspnet/core/razor-pages/sdk?view=aspnetcore-2.1#properties