google analytics

martes, 17 de junio de 2014

Compilando vistas de MVC antes de ejecutarlas

Si trabajas con Asp .Net MVC seguro que te has topado que tu proyecto compila perfectamente en Visual Studio pero si esta vista tiene un error, este error no se mostrará hasta que lo veas en el navegador. Esto puede ocasionarte problemas, perdidas de tiempo al compilar algo que está fallando o un dolor de cabeza muy grande en producción, para entenderlo mejor vamos al código!

Supongamos que tenemos la vista siguiente:


@{
    ViewBag.Title = "Home Page";
    var mensaje = "Aqui va mi mensaje";
}
@section featured {
    
}

Compilando vistas en MVC

@mensajes


Si vemos el código, veremos que es una vista simple y que en la línea 3 declaramos una variable que se llama "mensaje" en la cual almacenaremos un string. Luego si nos vamos a la linea 17,  llamamos a esa variable pero escribiéndola mal "mensajes". Si damos a ejecutar el Visual Studio no nos bota ningún error y sólo este error se muestra cuando se muestra la vista ya en ejecución.

El Visual Studio compila satisfactoriamente


El error sólo se muestra en ejecución

Como ven Visual Studio no nos indica que la vista está fallando lo cual nos puede traer problemas más adelante, ya que nadie sabrá que esa página esta mal hasta que la encuentren en tiempo de ejecución. Felizmente VS nos permite configurar esto, lamentablemente esto se logra editando el archivo del proyecto, para lo cual tenemos que hacer lo siguiente:

1- Ir al explorador de soluciones, seleccionar el proyecto que queremos editar, darle click derecho y seleccionar "Unload Project"


2- Una vez descargado el proyecto le das click derecho y seleccionar "Edit [Nombre del proyecto]"


3- Despues de esto se abré el proyecto para editarlo, buscamos el tag "MVCBuildViews" (que por defecto tiene el valor a false) y lo cambiamos a true y le damos a guardar.


4. Por ùltimo volvemos al explorador de soluciones, seleccionamos el proyecto modificado, le damos click derecho y seleccionamos la opción "Reload Project"



Con esto ya tenemos configurado nuestro proyecto para que VS compile nuestras vistas y nos ahorremos dolores de cabezas y collejas inesperadas en producción. Si intentas compilar la solución ahora Visual Studio te mostrará el error en la vista.


Espero les sirva,  hasta la próxima.

No hay comentarios:

Publicar un comentario