Domanda

Ho provato a cercare un po ' e non trovare una risposta.Il Motore di Visualizzazione di Rasoio lavorare in Mono?

È stato utile?

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.

Note di rilascio :

  

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top