2015-10-09 7 views
11

Desidero distribuire l'applicazione Web ASP.NET su Linux con installazione mono.Come scegliere il framework Mono da VS2015?

Da quello che so Mono è una piattaforma di targeting simile a .DNX 4.5.1 o .DNX Core 5.0. Quindi ho bisogno in qualche modo di aggiungerlo alle piattaforme di targeting nel mio progetto per compilare e debuggare il progetto contro di esso.

Sorprendentemente, non sono riuscito a trovare alcuna istruzione. Sto creando un nuovo progetto ASP.NET 5/vNext e tutto quello che vedo sono i target di compilazione 4.5.1 e Core 5.0. Come aggiungere Mono a quella lista?

+0

Non sono sicuro che VS2015 abbia un pacchetto di destinazione per questo (http: //blogs.msdn.com/b/dotnet/p/dotnet_sdks.aspx), la cosa più semplice da fare è scaricare Xamarin Studio o Mono Develop e compilarlo da lì, i tipi di progetto dovrebbero essere compatibili (Mono Develop ha un problema con progetti/soluzioni con spazi nel nome scorso ho provato però). –

+0

C'è una cosa: in realtà ho visto alcuni elementi da scegliere in VS2015, ed era "mono" nel suo nome. Sono abbastanza sicuro che riguardasse il targeting. Tuttavia, da allora ho reinstallato il mio sistema operativo, e ora che voglio lavorare intenzionalmente con il mono - è tutto finito ... – yaapelsinko

risposta

2

C'era qualche prodotto mono/mono per VS che integra Mono in VS, ma ora non ce n'è.

In questo caso, è necessario utilizzare .NET Core 5, poiché sarà la soluzione definitiva.

Mono fornisce ancora supporto per i progetti ASP.NET 4. *, ma sarebbe difficile affermare la compatibilità poiché è necessario distribuire su Mono su Linux per verificare. Anche in questi casi il tuo progetto dovrebbe avere come target .NET Framework completo, proprio come succede in passato. Non esiste un profilo Mono specifico per il target.

+0

Quindi, sto prendendo di mira Core 5.0 e presumo che funzionerà. Quindi, devo compilare il mio progetto sul lato server? Inoltre, c'è il pacchetto "dnx-mono" su NuGet, e con la versione 1.0.0-beta7 si potrebbe pensare che sia qualcosa di reale in questo momento. Questo pacchetto è in qualche modo importante per il targeting di un progetto per l'ambiente Mono? – yaapelsinko

+0

@yaapelsinko nessuno dei bit DNX/.NET Core di Microsoft o di altri fornitori è ancora finalizzato, quindi non è proprio il momento di affermare nulla. .NET Core 5 sarà pronto per il primo trimestre 2016, oltre a DNX, quindi spero che tu possa aspettare. –

+0

Beh, quello che voglio è sapere almeno per il momento attuale, come potrei iniziare a giocarci. Esistono molti tutorial su ASP.NET 5 su Raspberry PI, ma tutti descrivono alcuni modi discutibili per sviluppare programmi. Lo guardo e, beh, sì, sarò un po 'in grado di ripetere quegli helloworlds, ma non vedo come applicarlo al flusso di lavoro VS. Non ne ho visto uno solo su come creare un'applicazione per il mondo reale, come un'adeguata web-app che può essere costruita in modo "tradizionale" e poi implementata sulla piattaforma che scegli ... – yaapelsinko

5

Compile da Visual Studio e il bersaglio Mono

Come estratto here

è possibile compilare contro Mono su Windows, da Visual Studio con MonoHelper Addin (usando xbuild sotto).

C'è anche un'altra soluzione, che si rivolge a un profilo "Mono" .NET Framework da Visual Studio. I seguenti passaggi provengono da here ed è per VS 2012 (ma dovrebbe funzionare per altre versioni).

  1. creare due chiavi di registro:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319\SKUs\.NETFramework,Version=v4.0,Profile=Mono

    HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319\SKUs\.NETFramework,Version=v4.0,Profile=Mono

  2. fare un collegamento a una directory Mono all'interno di Microsoft Riferimenti Assemblee Directory (potrebbe essere necessario eseguire il seguito con i diritti di amministratore)

    cd "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\Profile" mklink /d Mono "C:\Program Files (x86)\Mono\lib\mono\4.5" cd Mono mkdir RedistList cd RedistList notepad FrameworkList.xml

  3. Modifica FrameworkList.xml

Incollare il seguente all'interno FrameworkList.xml

<?xml version="1.0" encoding="utf-8"?> 
<FileList Redist="Mono-4.5" Name="Mono 4.5 Profile" RuntimeVersion="4.5" ToolsVersion="4.0" > </FileList> 
+0

Questo componente aggiuntivo non supporta Visual Studio 2015 (poiché richiedeva il download di Visual Studio 2013 da installare). :/ – XtraSimplicity

+0

In realtà funziona in VS2015, ma manca qualcosa per aggiungere il nuovo profilo nell'elenco dei profili disponibili quando si crea un nuovo progetto. Invece, scegli come target il framework regolare per creare il modello dell'applicazione, quindi salva e reindirizza l'applicazione nelle impostazioni del progetto. Il profilo Mono è lì e funziona correttamente. –