L'exécution Mono 3.2.0 .NET MVC 4
J'essaie d'obtenir Mono installation 3.0 pour exécuter MVC4 sites sous .NET 4 et .NET 4.5. J'ai travaillé à travers diverses erreurs, que puis-je faire pour l'obtenir vers le haut et en cours d'exécution?
De Configuration Du Serveur
- CentOS 5
- Apache 2.2.3
- 3.2.0 (archive Soleil Juillet 28 00:57:40 UTC 2013); ASP.NET Version: 4.0.30319.17020
2013) - Dernière XSP à partir de git, au moment de ce post
Apache/Mono Config
MonoServerPath "/usr/local/bin/mod-mono-server4"
/usr/local/bin/mod-mono-server4 contenu:
#!/bin/sh
exec /usr/local/bin/mono $MONO_OPTIONS "/usr/local/lib/mono/4.5/mod-mono-server4.exe" "$@"
Mise à jour
Le noeud du problème, c'est que Mono n'a pas été livré avec MVC4 dont le site a besoin. Il a encore de la MVC3 dll, mais il a le Rasoir 2 dll, mais pas le Rasoir 1 dll qui MVC3 veut poursuivre.
Peut-être que cela peut être sur un peu d'aide: blog.miraclespain.com/archive/2013/Jun-24.html vous pouvez obtenir la plupart des références qui manque de nuget au lieu de construire le tout à partir de zéro avec mono
Merci pour le lien. MVC3 apps fonctionnent réellement beaux - MVC3 est maintenant enroulés dans le mono de la base de code.
Je ne pense pas que l'exception NullReferenceException vous êtes arriver a quelque chose à voir avec MVC4 en Mono, je pense que vous avez une fracture de la mono installation (sent, parce que vous êtes en utilisant le préfixe /usr/local), donc je suis downvoting votre question et la réponse
voir pour un exemple: stackoverflow.com/questions/17874626/...
J'ai été en mesure de reproduire le problème sur une installation fraîche de Cent OS 6.6 avec une nouvelle installation de la dernière des sources de XSP et MOD_MONO à partir de Git et de la 3.2.0 archive à l'7/24. /usr/local semble être l'emplacement d'installation par défaut sur Cent OS. Êtes-vous actuellement en mesure d'exécuter .NET MVC4 en vertu de Mono?
Merci pour le lien. MVC3 apps fonctionnent réellement beaux - MVC3 est maintenant enroulés dans le mono de la base de code.
Je ne pense pas que l'exception NullReferenceException vous êtes arriver a quelque chose à voir avec MVC4 en Mono, je pense que vous avez une fracture de la mono installation (sent, parce que vous êtes en utilisant le préfixe /usr/local), donc je suis downvoting votre question et la réponse
voir pour un exemple: stackoverflow.com/questions/17874626/...
J'ai été en mesure de reproduire le problème sur une installation fraîche de Cent OS 6.6 avec une nouvelle installation de la dernière des sources de XSP et MOD_MONO à partir de Git et de la 3.2.0 archive à l'7/24. /usr/local semble être l'emplacement d'installation par défaut sur Cent OS. Êtes-vous actuellement en mesure d'exécuter .NET MVC4 en vertu de Mono?
OriginalL'auteur Brian | 2013-07-27
Vous devez vous connecter pour publier un commentaire.
Tout ce dont vous avez besoin est maintenant disponible dans le framework Mono ou sur NuGet. J'ai créé le modèle téléchargeable pour MVC4 .Net 4.0 et .Net 4.5 et quelques notes sur la résolution des problèmes:
http://www.cafe-encounter.net/p1510/asp-net-mvc4-net-framework-version-4-5-c-razor-template-for-mono-on-mac-and-linux
Les étapes à partir de l'article du blog sont:
github.com/chrisfcarroll/AspNetTemplatesForMono/Mvc4CSharpRazorFx45Intranet
NB Ce dépôt github comprend toutes les dll requises dans le cas où vous n'avez pas
ont NuGet de travail, c'est donc une immense télécharger.
La seule chose que vous avez à faire est de choisir l'un de ces 2 étapes à faire
il travail:
Soit supprimer Microsoft.Web.Infrastructure.dll à partir de la corbeille\ directory et du projet
Ou, à partir de la ligne de commande:
(en remplacement 3.2.5 avec votre version de mono, qui vous obtenez à la ligne de commande avec mono --version);
L'Microsoft.Web.Infrastructure.dll est requis .Net sur Windows, afin de le supprimer n'est pas l'approche la plus simple si vous voulez de la croix-plate-forme de déploiement
OriginalL'auteur Chris F Carroll
Succès
Si vous souhaitez exécuter MVC4 Mono, vous devez utiliser un Microsoft dll qui ne sont pas prévues par la Mono à ce moment.
Un mot de prudence - de Prendre un coup d'oeil à la source Mono, il semble y avoir des méthodes et des classes dans la MC4 source qui n'existent pas dans la 3.2.0 construire. Il y a peut être des caractéristiques qui sont cassées. Le site que je suis en cours d'exécution est pour toutes fins utiles, un MVC3 site construit contre les dernières versions de dll.
Microsoft Dll à copier
Une fois que vous copiez la dll, si vous rencontrez toujours des problèmes, vous pourriez avoir à faire un travail de détective si le correctif ci-dessus ne fonctionne pas. Si vous obtenez un message d'erreur disant que Mono ne pouvez pas trouver la DLL, il est généralement l'une des trois raisons suivantes:
Dépannage
Est qui n'ont pas de dll - Vous pouvez essayer d'utiliser le Microsoft version de la DLL
C'est la recherche d'une ancienne version de la DLL lorsque le bon est installé dans le GAC ou dans votre dossier de projet - Un assemblage de votre projet de référencement, cette version quelque part. Vous pouvez utiliser une liaison re-diriger vers la force de la version spécifique, vous devrez être utilisé à la place
Il stil ne pouvez pas trouver la dll - Ajouter de l'assemblée dans la compilation/assemblées section de votre site web.config
Vous êtes l'obtention d'un " ne peut pas trouver cherché...' message - si l'un des points de vue dans ce dossier vues ont des erreurs de compilation, alors vous recevrez ce message.
OriginalL'auteur Brian