J'ai essayé de chercher un peu et je n'ai pas trouvé de réponse. Le moteur Razor View fonctionne-t-il en Mono?
Réponses
Trop de publicités?Oui, c'est fait. J'ai de travailler avec mono sous Linux.
Vous avez besoin mono 2.10.2+ de la stabilité des sources de http://ftp.novell.com/pub/mono/sources-stable/
http://download.mono-project.com/sources/mono/
Ensuite, vous devez localcopy ces assemblées dans votre app du répertoire bin (vous les prendre à partir de Visual Studio sous Windows):
System.Web.Mvc.dll
System.Web.Razor.dll
System.Web.WebPages.dll
System.Web.WebPages.Deployment.dll
System.Web.WebPages.Razor.dll
Ensuite, vous pourriez avoir à se débarrasser des erreurs suivantes que vous pouvez faire comme ceci:
Erreur: champs de Stockage ne peut pas être créé lors de _AppStart est en cours d'exécution.
Cause: Microsoft.Web.Infrastructure.dll a localcopied à la poubelle
répertoire.
Résolution: Supprimer Microsoft.Web.Infrastructure.dll et l'utilisation de la mono
version.
Erreur: Invalid code IL dans le Système.Web.Les gestionnaires.ScriptModule:.ctor ():
corps de la méthode est vide.
Cause: System.Web.Extensions.dll en quelque sorte obtient localcopied à la poubelle
répertoire.
Résolution: Supprimer System.Web.Extensions.dll et utiliser la version mono.
Erreur: Les classes dans le module ne peut pas être chargé. Description: HTTP
500. Erreur de traitement de la demande.
Cause: System.Web.WebPages.Administration.dll a localcopied à la poubelle
répertoire.
Résolution: Supprimer System.Web.WebPages.Administration.dll et déréférencement il
Erreur: impossible de charger le type
'Système.Web.Les pages web.De rasoir.RazorBuildProvider " de l'assemblée
'Système.Web.Les pages web.Rasoir, Version=1.0.0.0, Culture=neutral,
PublicKeyToken=31bf3856ad364e35". Description: HTTP 500. Erreur
le traitement de votre requête.
Cause: System.Web.Razor.dll est endommagé ou manquant (ou 64 bits au lieu de 32 ou vice-versa) ...
Résolution: non version de System.Web.Razor.dll et
localcopy le répertoire bin
Modifier
En tant que mono-2.12 / MonoDevelop 2.8, tout cela n'est plus nécessaire.
Notez que sur 2.10 (Ubuntu 11.10), on a besoin de localcopy System.Web.DynamicData.dll
aussi bien, ou sinon, vous obtenez une erreur qui se produit uniquement sur App_Start (si vous ne le faites pas, vous obtenez un YSOD la première fois que vous appelez une page, mais SEULEMENT la première fois, parce que seulement alors App_Start est appelé.).
Note
pour la mono 3.0+ avec ASP.NET MVC4:
Il y a un "bug" dans le script d'installation.
Ou plutôt d'une incomplétude.
mod-mono, fastcgi-mono-server4 et xsp4 ne fonctionne pas correctement.
Par exemple: fastcgi-mono-server4 vous donne cette sortie de débogage:
[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"
C'est, parce que, après l'installation de mono3, il utilise le framework 4.5, mais xsp, fastcgi-mono-server4 et mod-mono ne sont pas dans les 4,5 GAC, seule la version 4.0 du gac.
Pour résoudre ce problème, utilisez ce 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
Et si vous l'utilisez via FastCGI (par exemple, nginx), vous avez également besoin de ce correctif pour TransmitFile pour la chuncked_encoding bug
Pourquoi dois-je indésirable octets supplémentaires au début de l'image? (fixe en mono 3.2.3)
PS:
Vous pouvez obtenir le .debs pour 3.x à partir d'ici:
https://www.meebey.net/posts/mono_3.0_preview_debian_ubuntu_packages/
ou les compiler vous à partir de github
L'Installation De Mono 3.x (3.0.x et/ou 3.2.x)
ou comme ce à partir de la stabilité des sources
http://ubuntuforums.org/showthread.php?t=1591370
Mono 2.10 partir soutient pleinement MVC3 et Rasoir, mais le Mono Projet ne peut pas actuellement navire Mono avec un open-source de mise en œuvre de la MVC3/Rasoir à pile incluse (de la même manière que MVC1 et MVC2 sont inclus).
À partir de la Release Notes:
Bien que ASP.NET MVC3 est open source et sous les termes de la MS-PL de la licence, il faut un peu de dépendances sur de nouvelles bibliothèques qui sont pas open source, ni une partie intégrante de l'Microsoft.NET Cadre.
À ce stade, nous n'avons pas ouvert source implémentations de ces bibliothèques, de sorte que nous ne pouvons pas expédier le plein ASP.NET MVC3 pile avec Mono (Nous avons encore navire ASP.NET MVC 1 et MVC 2 avec Mono pour votre déploiement de la jouissance).
Cette Mono version a cependant assez d' corrections de bogues et des correctifs que vous serez en mesure d'exécuter ASP.NET MVC3 sites avec c'.
Il semble que nous y arrivions:
http://gonzalo.name/blog/archive/2011/Jan-21.html
On dirait qu'il ne figure pas encore dans les versions publiées, mais vous pouvez l'exécuter à partir du contrôle de source.