EL hecho es que estoy intentando hacer funcionar el tutorial "gettinStarted" de la documentacion de Monorail. pero el tutorial explica como realizarlo empleando visualStudio y como yo trabajo con Ubuntu y Vim no tengo el IDE de microsoft instalado. El problema es el siguiente
Hago lo que dice el tutorial creando la estructura de directorios (bin, Models, Views , Controllers )
Esta estructura de directorios esta en la misma raiz del Document Root de apache es decir estan en /var/www
Tengo el archivo de configuración web.config con lo siguiente
Código:
Tambien tengo las configuraciones en el httpd.conf <?xml version="1.0" encoding="utf-8"?> <configuration> <configSections> <section name="monorail" type="Castle.MonoRail.Framework.Configuration.MonoRailSectionHandler, Castle.MonoRail.Framework" /> </configSections> <monorail> <controllers> <assembly>Castle.Core</assembly> </controllers> <viewEngine viewPathRoot="Views" customEngine="Castle.MonoRail.Framework.Views.NVelocity.NVelocityViewEngine, Castle.MonoRail.Framework.Views.NVelocity" /> </monorail> <system.web> <httpHandlers> <add verb="*" path="*.rails" type="Castle.MonoRail.Framework.MonoRailHttpHandlerFactory, Castle.MonoRail.Framework"/> </httpHandlers> <httpModules> <add name="monorail" type="Castle.MonoRail.Framework.EngineContextModule, Castle.MonoRail.Framework" /> </httpModules> </system.web> </configuration>
Código:
Y tengo el archivo 000-default con las modificaciones marcadas en negritaLoadModule mono_module modules/mod_mono.so AddHandler mono .rails .aspx .ashx .asmx .ascx .asax .config .ascx MonoRunXSP True AddMonoApplications default "/:var/www" <Location /var/www> SetHandler mono </Location>
Código:
<VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www # monorail --------------------------------------------------------- AddHandler mono .rails .aspx .ashx .asmx .ascx .asax .config .ascx AddMonoApplications default "/:var/www" MonoRunXSP True MonoServerPath default /usr/bin/mod-mono-server2 #--------------------------------------------------------------------------------- <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all SetHandler mono </Directory> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog ${APACHE_LOG_DIR}/access.log combined Alias /doc/ "/usr/share/doc/" <Directory "/usr/share/doc/"> Options Indexes MultiViews FollowSymLinks AllowOverride None Order deny,allow Deny from all Allow from 127.0.0.0/255.0.0.0 ::1/128 </Directory> </VirtualHost>
He copiado los binarios necesarios a la carpeta bin , los cuales son
- Castle.MonoRail.Framework.dll
- Castle.MonoRail.Framework.Views.NVelocity.dll
- Castle.Components.Validator.dll
- Castle.Components.Binder.dll
- Castle.Core.dll
- NVelocity.dll
La aplicación es muy muy basica y tan solo define un controlador HomeController.cs en Controllers/. Con una acción (metodo) index.
y una vista en Views/home (index.vm)
en teoria escribiendo en el navegador http://localhost/home/index.rails deberia aparecer un texto tipo "hola mundo" pero en su lugar aparece la excepción siguiente
A type load exception has occurred.
Uno de los principales problemas que tengo en Ubuntu es que en el archivo de configuracion se pide el nombre del ensamblado de la aplicación, imagino que Visual Studio hace esto de forma automatica pero en mi caso, al hacerlo de forma manual , no se que contenido deberia tener dicho ensamblado o si es ese el problema.
Gracias y un saludo a todos.