2012-09-23 17 views
12

Estoy tratando desesperadamente de configurar un MVC 4 (en el peor de los casos 3) con Razor en Monodesarrollo. Estoy sentado en una máquina Mac OS X, con Mono 2.11.4.Configuración de MVC 4 (Razor) con MonoDevelop

Parece que no tiene todos los conjuntos necesarios. System.Web.Helper, por ejemplo, no parece ser encontrado. Y MonoDevelop solo puede encontrar System.Web.Mvc versión 3 (con NET Framework 4.5 seleccionado) o versión 2 (con NET Framework 4.0 seleccionado). ¿Alguien sabe cómo hacer funcionar el MVC 4 con Razor?

Respuesta

11

(páginas de afeitar trabajado con Mono, en teoría, con la serie de la versión 2.10.x, pero había que agrupar las asambleas de Microsoft con ella en su máquina Linux.)

Desde Mono 2.11.1, estos conjuntos son ahora incluido de forma predeterminada en Mono, porque Microsoft ha abierto recientemente Razor (en March 2012). Entonces: estás usando la versión correcta de Mono.

El problema es que, como se explica en this blogpost, MVC4 depende de la pila de API asincrónica ASP.NET, que aún no está lista en Mono. Así que sí, ahora puedes usar Razor con Mono sin la necesidad de implementar ensambles MS desde Windows, pero, por ahora, debes quedarte con MVC3, no con 4.

(Copia-pegar mi respuesta de this other stackoverflow question y ajustado un poco.)

+0

Hmm ... Does not Mono 2.11.4 implementar Async/Await? De todos modos, comenzar un proyecto de MVC 3 en MonoDevelop tampoco funciona. Incluso el proyecto de ejemplo que se genera cuando se inicia un nuevo proyecto MVC 3 se compila por completo (o recibe errores de tiempo de ejecución) –

+0

async/await es una característica de lenguaje C#, y sí, Mono 2.11.4 lo implementa. Estoy hablando de las nuevas API asíncronas de ASP.NET. – knocte

+1

¿Qué versión de MonoDevelop estás usando? Se recomienda utilizar la rama principal (aún no publicada) porque contiene algo de trabajo de un estudiante de GoogleSummerOfCode que trabajó en la integración de ASP.NET. – knocte

2

De acuerdo con la Compatibility page on the Mono site MVC4 es compatible con la excepción de las funciones asíncronas. A menos que exista una parte del marco MVC4 que utiliza asincronización de forma predeterminada, esas nuevas características solo serán un problema si ha agregado ese patrón a su código.

7

Modifiqué la plantilla de proyecto VS2010 MVC4 para ejecutar el archivo zip fuera de zip en Xamarin Studio/MonoDevelop en Mac & Linux: http://www.cafe-encounter.net/p1319/run-asp-net-mvc4-on-mono-monodevelop-on-mac-the-c-template-project.

Actualización: he hecho un MVC4 en .Net 4.5 plantilla con notas en http://www.cafe-encounter.net/p1510/asp-net-mvc4-net-framework-version-4-5-c-razor-template-for-mono-on-mac-and-linux incluyendo enlace a GitHub.

+0

Gracias! Veremos esto: D –

Cuestiones relacionadas