.NET Core 3.0 - Preview 2 - Razor view не перекомпилируется автоматически при изменении
Согласно https://docs.microsoft.com/en-us/aspnet/core/mvc/views/view-compilation?view=aspnetcore-3.0 по умолчанию бритвенные представления должны перекомпилироваться при изменении в локальных средах для ядра asp.net 3.0.
Тем не менее, мой проект не делает это локально. Если я меняю представление и обновляюсь при локальной отладке, это изменение не отражается. Я должен остановить решение, повторно запустить, а затем увидеть изменения.
Я делаю это на стандартном шаблоне ASP.NET Core Web Application в Visual Studio 2019 с asp.net core 3.0.0 preview 2, используя бритвенные страницы. Любая идея, если мне нужно изменить настройки, чтобы включить эту функцию?
Ответы
Ответ 1
ОК, похоже, он еще не поддерживается :(
Компиляция во время выполнения удалена Как следствие очистки Общая платформа ASP.NET Core не зависит от Roslyn, поддержка во время выполнения компиляция страниц и представлений также была удалена в этом предварительный выпуск. Вместо этого выполняется компиляция страниц и просмотров во время сборки. В будущем предварительном обновлении мы предоставим NuGet пакеты для необязательного включения поддержки компиляции во время выполнения в приложение.
Вы можете прочитать больше о проблеме здесь https://github.com/aspnet/Announcements/issues/343
Приложения, требующие компиляции или повторной компиляции файлов Razor во время выполнения, должны:
- Добавьте ссылку на пакет
Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation
. Он будет доступен как часть выпуска 3.0.0-preview3.
- Обновите приложение
ConfigureServices
, чтобы включить вызов AddMvcRazorRuntimeCompilation
:
Ответ 2
Вернуть компиляцию представления во время выполнения в ASP.NET Core
3
- Ссылка
Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation
- Вызовите
services.AddMvc().AddRazorRuntimeCompilation()
- Удалите
Microsoft.VisualStudio.Web.CodeGeneration.Design
если существует несовпадение версий в пакете Microsoft.CodeAnalysis.Common
Ответ 3
Для версии ASP.NET Core 3:
services.AddControllersWithViews().AddRazorRuntimeCompilation();
https://docs.microsoft.com/en-us/aspnet/core/mvc/views/view-compilation?view=aspnetcore-3.0
Ответ 4
Компиляция во время выполнения включается с помощью пакета Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation
. Чтобы включить компиляцию во время выполнения, приложения должны:
Установите Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation
NuGet
пакет.
Обновите метод проекта Startup.ConfigureServices
, чтобы включить
позвоните в AddRazorRuntimeCompilation
:
services
.AddControllersWithViews()
.AddRazorRuntimeCompilation();
https://docs.microsoft.com/en-us/aspnet/core/mvc/views/view-compilation?view=aspnetcore-3.0