¿El motor Razor View funciona para Mono?
Intenté buscar un poco y no encontré una respuesta. ¿Razor View Engine funciona en Mono?
5 answers
Sí, lo hace. Lo tengo trabajando con mono en Linux.
Se necesita mono 2.10.2+ de las fuentes estables de http://ftp.novell.com/pub/mono/sources-stable/
http://download.mono-project.com/sources/mono/
Luego, debe copiar localmente estos ensamblados en el directorio bin de su aplicación (los toma de Visual Studio en Windows):
Sistema.Web.Mvc.dll
Sistema.Web.Afeitar.dll
Sistema.Web.pagina.DLL
Sistema.Web.pagina.Despliegue.dll
Sistema.Web.pagina.Afeitar.dll
Entonces, es posible que tenga que deshacerse de los siguientes errores que podría haber cometido como este:
Error: Los ámbitos de almacenamiento no se pueden crear cuando _AppStart se está ejecutando.
Causa: Microsoft.Web.Infraestructura.dll fue copiado localmente a la papelera
directorio.
Resolución: Eliminar Microsoft.Web.Infraestructura.dll y usar el mono
version .
Error: Código IL no válido en Sistema.Web.Manipuladores.ScriptModule:.ctor ():
el cuerpo del método está vacío.
Causa: Sistema.Web.Ampliación.dll de alguna manera obtiene localcopied a la papelera
directorio.
Resolución: Eliminar Sistema.Web.Ampliación.dll y utilice la versión mono.
Error: Las clases del módulo no se pueden cargar. Descripción: HTTP
500. Solicitud de procesamiento de error.
Causa: Sistema.Web.pagina.Administración.dll fue copiado localmente a la papelera
directorio.
Resolución: Suprimir Sistema.Web.pagina.Administración.dll y no hacer referencia a ella
Error: No se pudo cargar el tipo
Sistema.Web.pagina.Afeitar.RazorBuildProvider ' del montaje
Sistema.Web.pagina.Razor, Version=1.0.0.0, Culture = neutral,
PublicKeyToken = 31bf3856ad364e35". Descripción: HTTP 500. Error
solicitud de procesamiento.
Causa: Sistema.Web.Afeitar.dll está dañado o falta (o x64 en lugar de x32 o viceversa)...
Resolución: Obtener una versión incorrupta de Sistema.Web.Afeitar.dll y
localcopy al directorio bin
Editar
A partir de mono 2.12 / MonoDevelop 2.8, todo esto ya no es necesario.
Tenga en cuenta que en 2.10 (Ubuntu 11.10), uno necesita localcopy System.Web.DynamicData.dll
también, o de lo contrario obtendrá un error que solo ocurre en App_Start (si no lo hace, obtendrá un YSOD la primera vez que llame a una página, pero SOLO la primera vez, porque solo entonces se llama a App_Start.).
Nota
para mono 3.0 + con ASP.NET MVC4:
Hay un " bug " en el script de instalación.
O más bien un estado incompleto.
Mod-mono, fastcgi-mono-server4 y xsp4 no funcionarán correctamente.
Por ejemplo: fastcgi-mono-server4 le da esta salida de depuración:
[error] 3384#0: *101 upstream sent unexpected FastCGI record: 3 while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "GET / HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "localhost:8000"
Esto es, porque después de la instalación de mono3, utiliza framework 4.5, pero xsp, fastcgi-mono-server4 y mod-mono no están en el 4.5 GAC, solo el 4.0 gac.
Para arreglar esto, use este script bash:
#!/bin/bash
# Your mono directory
#PREFIX=/usr
PREFIX=/opt/mono/3.0.3
FILES=('mod-mono-server4'
'fastcgi-mono-server4'
'xsp4')
cd $PREFIX/lib/mono/4.0
for file in "${FILES[@]}"
do
cp "$file.exe" ../4.5
done
cd $PREFIX/bin
for file in "${FILES[@]}"
do
sed -ie 's|mono/4.0|mono/4.5|g' $file
done
Y si lo usa a través de FastCGI (por ejemplo, nginx), también necesita esta corrección para TransmitFile para el error chuncked_encoding
¿Por qué tengo bytes adicionales no deseados al principio de la imagen? (corregido en mono 3.2.3)
PS:
Usted puede conseguir el .debs para 3.x desde aquí:
https://www.meebey.net/posts/mono_3.0_preview_debian_ubuntu_packages /
o compile yourselfs desde github
Instalando Mono 3.x en Ubuntu / Debian
o como este desde el establo fuente
http://ubuntuforums.org/showthread.php?t=1591370
2015
Ahora puede usar los paquetes proporcionados por Xamarin
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
echo "deb http://download.mono-project.com/repo/debian wheezy main" | sudo tee /etc/apt/sources.list.d/mono-xamarin.list
sudo apt-get update
Si necesita las características más recientes, también puede obtener los paquetes de CI (nightly builds, por así decirlo), si necesita la versión más reciente (o casi más reciente)
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
echo "deb http://jenkins.mono-project.com/repo/debian sid main" | sudo tee /etc/apt/sources.list.d/mono-jenkins.list
sudo apt-get update
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 10:31:13
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-11-21 19:05:04
Mi conjetura es que usted tendrá que esperar a que el lanzamiento de MVC3 (cuando se convierte en código abierto) antes de que se pueda responder perfectamente.
Estoy seguro de que el equipo Mono hará que funcione, sin embargo.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-11-21 19:00:13
Mono 2.10 en adelante es totalmente compatible con MVC3 y Razor, aunque el Proyecto Mono actualmente no puede enviar Mono con una implementación de código abierto de la pila MVC3/Razor incluida (de la misma manera que MVC1 y MVC2 están incluidos) por el momento.
Aunque ASP.NET MVC3 es de código abierto y licenciado bajo los términos de la Licencia MS-PL, toma unos pocos dependencias en nuevas bibliotecas que son no son de código abierto ni forman parte de el Microsoft.NET Marco.
En este punto no tenemos abierto implementaciones de origen de los bibliotecas, por lo que no podemos enviar el completo ASP.NET Pila MVC3 con Mono (Todavía buque ASP.NET MVC 1 y MVC 2 con Mono para su disfrute de implementación).
Esta versión Mono sin embargo tiene suficiente correcciones de errores y parches que se capaz de correr ASP.NET Sitios MVC3 con se.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-06-13 15:58:04
Parece que estamos llegando a eso:
Http://gonzalo.name/blog/archive/2011/Jan-21.html
Parece que todavía no está en ninguna de las versiones publicadas, pero puede ejecutarlo desde el control de código fuente.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-02-10 03:31:58