Il Motore di Visualizzazione di Rasoio di lavoro per Mono?
Domanda
Ho provato a cercare un po ' e non trovare una risposta.Il Motore di Visualizzazione di Rasoio lavorare in Mono?
Soluzione
Sì, lo fa.Devo lavorare con mono su Linux.
Hai bisogno di mono 2.10.2+ da fonti stabili da
http://ftp.novell.com/pub/mono/sources-stable/
http://download.mono-project.com/sources/mono/
Quindi, è necessario per localcopy queste assemblee nel vostro app bin (li prendi da Visual Studio in Windows):
System.Web.Mvc.dll
System.Web.Razor.dll
System.Web.WebPages.dll
System.Web.WebPages.Deployment.dll
System.Web.WebPages.Razor.dll
Quindi, si potrebbe avere per sbarazzarsi dei seguenti errori si potrebbe avere fatto come questo:
Errore:Archiviazione ambiti non può essere creato quando _AppStart è in esecuzione.
Causa:Microsoft.Web.Infrastructure.dll era localcopied per il cestino
directory.
Risoluzione:Eliminare Microsoft.Web.Infrastructure.dll e uso il mono
versione.
Errore:Non valido IL codice nel Sistema.Web.I gestori.ScriptModule:.ctor ():corpo del metodo è vuoto.
Causa:System.Web.Extensions.dll in qualche modo ottiene localcopied per il cestino
directory.
Risoluzione:Eliminare System.Web.Extensions.dll e utilizzare la versione mono.
Errore:Le classi del modulo non può essere caricato.Descrizione:HTTP
500.Errore di elaborazione della richiesta.
Causa:System.Web.WebPages.Administration.dll era localcopied per il cestino
directory.
Risoluzione:Eliminare System.Web.WebPages.Administration.dll e unreference it
Errore:Impossibile caricare il tipo
'Sistema.Web.Le pagine web.Rasoio.RazorBuildProvider' dall'assemblea
'Sistema.Web.Le pagine web.Rasoio, Version=1.0.0.0, Culture=neutral,
PublicKeyToken=31bf3856ad364e35'.Descrizione:HTTP 500.Errore
l'elaborazione della richiesta.
Causa:System.Web.Razor.dll è danneggiato o mancante (o 64 bit invece di 32 o viceversa) ...
Risoluzione:Ottenere un non corrotto la versione di System.Web.Razor.dll e
localcopy alla directory bin
Modifica
Come di mono 2.12 / MonoDevelop 2.8, tutto questo non è più necessario.
Nota che su 2.10 (Ubuntu 11.10), si ha la necessità di localcopy System.Web.DynamicData.dll
così, o altrimenti si ottiene un errore che si verifica solo su App_Start (se non lo fai, si ottiene un YSOD la prima volta che viene chiamata una pagina, ma SOLO il primo tempo, perché solo allora App_Start è chiamato.).
Nota
per il mono 3.0+ con ASP.NET MVC4:C'è un "bug" lo script di installazione.O piuttosto un senso di incompiutezza.
mod-mono, fastcgi-mono-server4 e xsp4 non funziona correttamente.
Per esempio:fastcgi-mono-server4 ti dà questo output di debug:
[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"
Questo è, perché dopo l'installazione di mono3, utilizza framework 4.5, ma xsp, fastcgi-mono-server4 e mod-mono non sono in 4.5 GAC, solo il 4.0 gac.
Per risolvere questo problema, utilizzare questo 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
E se lo si utilizza via FastCGI (ad es.nginx), è anche bisogno di questo fix per TransmitFile per il chuncked_encoding bug
Perché ho indesiderati extra byte all'inizio di immagine? (fisso mono 3.2.3)
PS:
È possibile ottenere il .debs per 3.x da qui:
https://www.meebey.net/posts/mono_3.0_preview_debian_ubuntu_packages/
o compilare yourselfs da github
Installazione Di Mono 3.x Ubuntu/Debian
o come questo da fonti stabili
http://ubuntuforums.org/showthread.php?t=1591370
2015
È ora possibile utilizzare il Xamarin fornito pacchetti
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
Se avete bisogno di diverse funzionalità più recenti, è possibile anche recuperare il CI pacchetti (nightly builds, per così dire), se avete bisogno dell'ultima (o quasi, ultima versione
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
Altri suggerimenti
La mia ipotesi è che avrete bisogno di aspettare il rilascio di MVC3 (quando diventa open-source), prima che si può rispondere perfettamente.
Sono sicuro che la squadra farà Mono farlo funzionare, però.
Mono 2.10 sostiene poi pienamente MVC3 e Razor, anche se il progetto Mono attualmente non può spedire Mono con un'implementazione open source dello stack MVC3 / Razor incluso (nello stesso modo come MVC1 e MVC2 sono inclusi) appena ancora.
Anche se ASP.NET MVC3 è open source e rilasciato sotto i termini della licenza MS-PL, ci vogliono pochi dipendenze su nuove librerie che sono non open source né sono parte Microsoft.NET Framework.
A questo punto non abbiamo aperto implementazioni fonte di tali librerie, in modo da non possiamo spedire il pieno pila ASP.NET MVC3 con Mono (Abbiamo ancora spedire ASP.NET MVC 1 e MVC 2 con Mono per il vostro divertimento distribuzione).
Questa versione Mono ha tuttavia abbastanza correzioni di bug e patch che si sarà in grado di eseguire i siti ASP.NET MVC3 con esso.
Sembra che ci stiamo arrivando:
http://gonzalo.name/blog/archive/2011/Jan- 21.html
sembra che non è in nessuna delle versioni pubblicate ancora, ma è possibile eseguirlo dal controllo di origine.