Siguiendo el hilo de ayer sobre WebMatrix y DotNetNuke, los siguientes posts van a ir dedicados a ir viendo cómo integrar distintas utilidades como Twitter o Facebook en nuestro portal a través de los Helpers, que vienen a ser una especie de scriptlets de uso muy sencillo.
Abrimos este primer post solucionando un posible problema de instalación del módulo RazorHost que es el encargado de ejecutar los scripts Razor. Hay que tener en cuenta que si partes de la instalación 5.6.1 (el próximo miércoles 19 de enero sale la versión definitiva) posiblemente no tendrás este problema ya que vendrá preinstalado. Yo me he encontrado con el problema de instalación en un portal del que he hecho un upgrade de la versión 5.6.0 a la 5.6.1 RC.
El problema
Una vez que hemos hecho el upgrade de la versión 5.6.0 a la 5.6.1, nuestra intención es añadir el módulo RazorHost para añadir scripts Razor en nuestro portal, pero éste no aparece en la lista de módulos disponibles. Esto es debido a que la actualización no instala el módulo de forma predeterminada y hay que realizarlo a través del interfaz de instalación de extensiones en Host > Extensiones.
Sin embargo, al añadir el módulo nos da un error de instalación del que no hay ninguna descripción. Tampoco se observa nada en el visor de eventos de DNN con más información.
La solución
Para dar con la solución, he decidido realizar una instalación manual del módulo RazorHost a través del asistente de instalación que se encuentra en Host > Extensiones. Para ello, hay que realizar una copia del archivo /Install/Module/RazorHost_01.00.00_Install.resources con el nombre /Install/Module/RazorHost_01.00.00_Install.zip (el asistente de instalación de extensiones sólo reconoce esta extensión). Al seguir los pasos del asistente nos da la primera pista del error:
Al parecer la instalación hace uso de la clase System.Tuple, que no encuentra instalada en el portal. Esta clase pertenece a .NET Framework 4.0.
Si en nuestro PC tenemos instalado .NET Framework 4.0, entonces ¿porqué da este error de instalación? La incógnita se resuelve al revisar la configuración del pool de aplicaciones sobre el que se está ejecutando la aplicación. Por defecto, la instalación de WebMatrix de DNN ha configurado la aplicación en un pool con .NET 2 (Integrated).
Al modificar la configuración del pool de aplicaciones y seleccionar .NET 4, el módulo RazorHost se instala sin problemas. Habrá que tenerlo en cuenta para futuras instalaciones a través de WebMatrix.
Una vez que hemos instalado el módulo, ya podemos seleccionarlo de la lista de módulos a agregar a una página, con lo que ya podemos ponernos a trastear agregando Helpers a nuestro portal.
Espero que sirva de ayuda.
¡Happy coding!
No hay comentarios:
Publicar un comentario