Страница .NET Core MVC не обновляется после изменений - PullRequest
0 голосов
/ 05 декабря 2018

Я собираю .NET Core MVC на последней версии 2.2.У меня проблема при внесении изменений в файл CSHTML и обновлении страницы, мои изменения не отображаются в браузере.Я должен перезапустить проект, чтобы увидеть мои изменения.Это происходило какое-то время, поэтому я не совсем уверен, какие изменения вызвали эту проблему.

Я пытался использовать Chrome "Пустой кэш и аппаратная перезагрузка", а также другие браузеры, но безрезультатно.Это происходит в Windows и Mac с использованием Visual Studio для Mac и VS Code

. В стандартном проекте .Net Core он работает нормально, поэтому в моем проекте должно быть что-то, что изменилось.Мне интересно, где мне нужно начать, чтобы отладить эту проблему?Я пытался комментировать почти все в моих Startup.cs и Program.cs без разрешения.

Ответы [ 5 ]

0 голосов
/ 24 августа 2019

В ASP.NET Core 3.0 (все еще в предварительном просмотре!) RazorViewEngineOptions.AllowRecompilingViewsOnFileChange недоступен (или нет доступа? - не было времени проверить).

Удивленный тем, что обновление представления во время работы приложения не работает, я обнаружил следующее решение (будьте осторожны, в выпуске все может измениться!):

  1. Добавить Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation Пакет NuGet для проекта
  2. Добавьте следующее в Startup.cs:

    services.AddControllersWithViews (). AddRazorRuntimeCompilation () ;

Вот полное объяснение для любопытных ...

HTH

0 голосов
/ 25 февраля 2019

Ниже мне помогло, когда представления были в отдельном проекте.

if(HostingEnvironment.IsDevelopment()){ // only in development (optional)
    services.AddMvc().AddRazorOptions(o => {
        o.FileProviders.Add(new PhysicalFileProvider(PATH_TO_PROJECT));
    });
}
0 голосов
/ 19 декабря 2018

Похоже, что в ASP.NET Core 2.2 было внесено изменение (и я не могу найти никаких объявлений об этом изменении).Если вы явно не работаете в среде «Разработка», то Razor Views компилируются, и вы не увидите никаких изменений, внесенных в .cshtml

. Однако вы можете отключить это, используя некоторые настройки в вашем классе запуска, какследует.

services.AddMvc().AddRazorOptions(options => options.AllowRecompilingViewsOnFileChange = true);
0 голосов
/ 24 февраля 2019

Используя .net core 2.2, запустив приложение с командой dotnet watch run, проект перезапускается после каждого изменения

0 голосов
/ 06 декабря 2018

Вы абсолютно уверены, что используете 2.2?Проверьте ваш csproj, потому что это может быть ошибка https://github.com/aspnet/Razor/issues/2466 Вы можете попробовать отключить RazorCompileOnBuild больше информации https://docs.microsoft.com/en-us/aspnet/core/razor-pages/sdk?view=aspnetcore-2.1#properties

...