2011-02-16 14 views
24

Las notas de la versión de Mono 2.10 sugieren compatibilidad con ASP.NET MVC 3.0 y Razor usando XSP.¿Es posible obtener un proyecto ASP.NET MVC 3 que funcione bajo Mono 2.10?

Al abrir un proyecto predeterminado 3.0 ASP.NET MVC recién creado (creados con Visual Studio 2010) en MonoDevelop 2.4.2 (Mac OS X), los siguientes archivos DLL faltan:

System.Web.Entity 
System.Web.Helpers 
System.Web.Mvc 
System.Web.WebPages 

Todo lo cual Reemplazo con DLL obtenidos de mi instalación de Windows. El proyecto se basa, pero recibo el siguiente mensaje de error al intentar depurar el proyecto:

Adding applications '/:.'... 
Registering application: 
    Host:   any 
    Port:   any 
    Virtual path:/
    Physical path: /.../Mvc3Test/ 
Handling exception type TargetInvocationException 
Message is Exception has been thrown by the target of an invocation. 
IsTerminating is set to True 
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. 

Antes de introducir dichas sustituciones, se ejecuta la aplicación, pero obviamente con errores de referencia que faltan. Lo que sugeriría que algo en las nuevas DLL está arruinando el servidor XSP.

¿Qué estoy haciendo mal? ¿Estoy siendo demasiado simplista? Soy nuevo en Mono y MonoDevelop, pero puedo crear, construir y depurar con éxito proyectos de MVC 2.0 con mi instalación actual de MonoDevelop.

+0

Mira en http://twistedcode.net/blog/post/2011/01/17/Mono-and-ASPNET-MVC-v3.aspx y http://gonzalo.name/blog/archive/2011/Jan -21.html Aunque todavía no lo he intentado. – silk

+0

Ver también [Archivos de la mono-aspnet-list] (http://lists.ximian.com/pipermail/mono-aspnet-list/). Vi una gran cantidad de discusiones sobre [ASP.NET MVC 3] (http://www.google.com/search?hl=es&safe=off&q=mvc+3+site%3Ahttp%3A%2F%2Flists.ximian.com % 2Fpipermail% 2Fmono-aspnet-list% 2F) allí. – abatishchev

Respuesta

19

Estoy eufórico. La nueva versión de Mono, 2.10.1, solucionó los problemas con ASP.NET MVC 3.0. Se está ejecutando sin problemas.

+0

Estoy teniendo el problema de dlls perdido ganar 2.10.1 también. Me pregunto qué podría ser eso ... –

+1

¿Qué hay del rendimiento? Estoy pensando en mover una de mis aplicaciones web asp.net mvc 3 al servidor Linux (la única dependencia de Windows es .net 4) ya que Windows en un servidor es muy divertido. ¿Cuánto pierde en rendimiento, qué tan malo es la pérdida de memoria? –

10

Funciona bien, echar un vistazo a http://erikzaadi.com/2011/03/02/installscripttorunaspdotnetmvc3withrazoronnginxataopensuseserver/

El único truco es copiar los conjuntos correctos ...

Si necesita la solución, que está disponible en http://labs.erikzaadi.com/monoOnSuse/RazorOnMonoSolution.zip

Espero que esto ayude.

[Nota] No necesita usar OpenSuse para ejecutar la solución, solo un entorno mono 2.10, funciona bien en mac también.

+1

Su solución no funcionó hasta que agregué - ¡gracias! – Webveloper

+0

No lanza ningún acceso al error clave dado (webveloper agregué tu código) – Chazt3n

+0

Te daría un millón de votos positivos si pudiera. Debo haber pasado semanas intentando que Razor MVC3 funcione en Mono antes de encontrar esta respuesta. –

Cuestiones relacionadas