Sé libre de divulgar nuestros tutoriales y códigos con otro, danos de tu ayuda para aumentar esta comunidad.
Solución:
OK, parece que aún no es compatible 🙁
Se eliminó la compilación en tiempo de ejecución Como consecuencia de la limpieza del marco compartido de ASP.NET Core para que no dependa de Roslyn, también se eliminó la compatibilidad con la compilación de páginas y vistas en tiempo de ejecución en esta versión preliminar. En su lugar, la compilación de páginas y vistas se realiza en el momento de la compilación. En una futura actualización de vista previa, proporcionaremos paquetes NuGet para habilitar opcionalmente la compatibilidad con la compilación en tiempo de ejecución en una aplicación.
Puede leer más sobre el problema aquí https://github.com/aspnet/Announcements/issues/343
Las aplicaciones que requieren compilación en tiempo de ejecución o recompilación de archivos Razor deben:
- Agregar una referencia a la
Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation
paquete. Estará disponible como parte del 3.0.0-vista previa3 liberar. - Actualizar la aplicación
ConfigureServices
incluir una llamada aAddMvcRazorRuntimeCompilation
:
Para la versión de lanzamiento de ASP.NET Core 3:
services.AddControllersWithViews().AddRazorRuntimeCompilation();
https://docs.microsoft.com/en-us/aspnet/core/mvc/views/view-compilation?view=aspnetcore-3.0
También se puede habilitar condicionalmente solo para el desarrollo local, citado en el enlace:
La compilación en tiempo de ejecución se puede habilitar de modo que solo esté disponible para el desarrollo local. Habilitar condicionalmente de esta manera asegura que la salida publicada:
Utiliza vistas compiladas.
Es de menor tamaño.
No habilita los observadores de archivos en producción.
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
Para recuperar la compilación de la vista en tiempo de ejecución ASP.NET Core
3
- Referencia
Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation
- Llamar
services.AddMvc().AddRazorRuntimeCompilation()
- Eliminar
Microsoft.VisualStudio.Web.CodeGeneration.Design
si hay una discrepancia de versión en elMicrosoft.CodeAnalysis.Common
paquete