es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿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().
Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para importar correctamente el RCL en tu nueva aplicación web, sigue estos pasos:

    1. En tu proyecto, ve a “Referencias” y haz clic derecho en “Agregar referencia”.
    2. Navega hasta el proyecto RCL en la pestaña “Proyectos” y selecciona el.
    3. Asegúrate de que la casilla “Incluir dependencias” esté marcada.
    4. Reconstruye tu proyecto para asegurarte de que se incluyan los últimos cambios.

    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:

    @using RCLNombreDeEspacioAqui
    

    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:

    @{
        Layout = "_Layout";
    }
    

    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.

Comments are closed.