¿Cómo importas una página Razor de una RCL que obtuviste de un paquete NuGet?
RCL significa biblioteca de clases Razor.
Hice mi propio prototipo de RCL con un archivo compartido _Layout.cshtml y quiero incluirlo en mi proyecto. Ya instalé el RCL desde NuGet esperando que funcione automáticamente, pero parece que no lo hace.
Borré mi archivo Layout.cshtml, esperando que fuera tomado del RCL que hice, pero aparentemente no funcionará de esa manera. Obtengo los siguientes errores:
Se produjo una excepción no controlada durante el procesamiento de la solicitud.
InvalidOperationException: No se pudo encontrar la vista de disposición 'Layout'. Se buscaron las siguientes ubicaciones:
/Pages/Layout.cshtml
/Pages/Shared/Layout.cshtml
/Views/Shared/_Layout.cshtml
¿Cómo importo correctamente este RCL en mi nueva aplicación web?
Actualización
Agregué @using libnamehere
a mi archivo _ViewImports.cshtml y comenté la única línea de código en _ViewStart.cshtml, pero ahora obtengo los siguientes errores:
InvalidOperationException: RenderBody no se ha llamado en la página '/Pages/Shared/_Layout.cshtml'. Para ignorarlo, llame a IgnoreBody().
davy.ai
Para importar correctamente el RCL en tu nueva aplicación web, sigue estos pasos:
Después de agregar el RCL como referencia, deberás hacer referencia explícitamente al espacio de nombres del RCL en tus vistas. Agrega la siguiente línea en la parte superior de tu archivo _ViewImports.cshtml:
Reemplaza
RCLNombreDeEspacioAqui
con el espacio de nombres de tu RCL.Para usar el archivo _Layout.cshtml de tu RCL, elimina el archivo _Layout.cshtml de tu directorio Pages/Shared. Luego, crea un nuevo archivo _ViewStart.cshtml en el directorio raíz de tu proyecto con el siguiente código:
Asegúrate de que el nombre del diseño coincida con el nombre del archivo de diseño en tu RCL. Además, asegúrate de que el archivo _ViewStart.cshtml esté incluido en tu proyecto.
Si aún encuentras errores después de seguir estos pasos, asegúrate de que el proyecto RCL se compile sin errores y que el archivo _Layout.cshtml esté incluido en el directorio raíz del proyecto. Además, verifica que el espacio de nombres y el nombre de archivo del diseño se estén referenciando correctamente en tu código.