2008-08-05 8 views
32

Ho iniziato a provare a giocare con Mono, principalmente per divertimento al momento. Ho provato per la prima volta a utilizzare il plugin di Visual Studio che convertirà un csproj in un makefile, ma sembrava non esserci alcuna versione disponibile per Visual Studio 2005. Ho letto anche l'IDE di MonoDevelop, che sembrava carino. Sfortunatamente, non c'è un pacchetto Windows pre-fab per questo. Ho provato a seguire alcune istruzioni per costruirlo combinando le dipendenze da altre installazioni semi-correlate. Non ha funzionato, ma probabilmente è perché sono un ragazzo orientato a Windows e riesco a malapena a scrivere "makefile".Qual è la migliore configurazione per lo sviluppo Mono su Windows?

Quindi, la mia domanda è questa: qual è il modo più basso di energia per iniziare e provare alcuni sviluppi basati su Mono su Windows?

risposta

15

Suggerirei di acquistare VMWare Player e utilizzare l'immagine della piattaforma di sviluppo Mono gratuita fornita sul sito web.

Download Mono

tempo di installazione per questo sarà minimo, e vi permetterà anche di ottenere il vostro codice di lavorare in .NET e quindi concentrarsi sul porting di problemi senza una massiccia fastidio di macchine di commutazione e simili. gli strumenti di VMWare Player ti permetteranno semplicemente di trascinare e rilasciare i file per copiarli.

Sto cercando di prendere un paio delle mie app .NET e renderle conformi a Mono, e questo è il percorso che prenderò qui a breve.

9

@Chris Ho trovato che Visual Studio è il miglior IDE per lo sviluppo rispetto a .NET - Penso che il modo migliore per mirare a Mono sia proprio quello di sviluppare e compilare in Visual Studio sotto Windows, quindi basta eseguire quei binari direttamente su Linux (o qualunque altra piattaforma Mono stai usando). Esistono versioni gratuite di Visual Studio se la gestione delle licenze è un problema. Se stai sviluppando sotto Linux, il miglior software è probabilmente Eclipse con un plugin Mono (vedi The Mono Handbook - Eclipse per le istruzioni di installazione), ma tieni presente che non ha la quantità di funzionalità o integrazione linguistica di Visual Studio.

@modesty Mono è un'implementazione open source di terze parti del framework .NET che consente di eseguire applicazioni .NET su piattaforme diverse da Windows.

3

Il mio primo istinto sarebbe "Installare Linux" piuttosto inutile. Sei un po 'swimming against the current per provare e sviluppare in mono sotto Windows. Installare GTK e tutto ciò è un po 'un problema nella mia esperienza.

Se non senti come l'utilizzo di Linux, allora si potrebbe Try Ubuntu

Altrimenti:

C'è qualche informazione qui: http://www.mono-project.com/Mono:Windows e sembra che il toolchain cygwin potrebbe essere la soluzione migliore. Non penso che sarai in grado di evitare i makefile, purtroppo. Ho trovato un tutorial leggermente più esplicito da O'Reilly.

@modesty:

Mono fornisce il software necessario per sviluppare ed eseguire applicazioni client e server .NET su Linux, Solaris, Mac OS X, Windows e Unix. Sponsorizzato da Novell ( http://www.novell.com), il progetto open source Mono ha una community di contributi attiva ed entusiasta ed è posizionato per diventare la scelta principale per lo sviluppo di applicazioni Linux.
- Dal sito Mono.

1

Mi è piaciuta l'idea di provare a utilizzare MonoDevelop principalmente per assicurarmi che le mie cose funzionassero contro i runtime Mono. Immagino che sarebbe anche possibile diventare pazzi con msbuild e scrivere alcuni target personalizzati che hanno cercato di costruire contro Mono, ma questo è fondamentalmente l'emulazione della funzionalità del plug-in, che presumo fosse non banale da costruire. Ho una minima esperienza con cygwin, e sono felice di digitare "configure" e "make" tutto il giorno, ma quando si verifica un problema in quel processo, sono praticamente fottuto. Probabilmente cercherò di giocare di nuovo con tutto questo, ma se mi ci vorrà più di un paio d'ore per trovare un modo per costruire comodamente contro i rituali Mono, probabilmente sarò solo su cauzione.

Proverò l'idea di Eclipse. Lo uso per Java, quindi potrei essere in grado di far funzionare la ro # c. Vedremo ...

6

Una delle cose migliori che si possono fare se si sviluppa con Visual Studio per Mono è ottenere MoMA http://www.mono-project.com/MoMA. Questo controllerà qualsiasi numero di assiemi che costruisci e genererà un rapporto che mostra potenziali problemi Mono (ad es. Metodi non implementati nella libreria mono). Può essere eseguito da una GUI o dalla riga di comando per l'utilizzo in build automatizzate.

3

Il plug-in Eclipse per Mono è guasto. Su Linux usa MonoDevelop o X-Develop se ti piace un buon supporto commerciale (anche se MonoDevelop li sta chiudendo velocemente in funzione delle caratteristiche). Su Windows SharpDevelop dispone di destinazioni MSBuild personalizzate per la compilazione del codice con Mono.

Poiché Mono e MonoDevelop stanno cambiando velocemente, assicurati di utilizzare le ultime versioni rilasciate, anche se non sono ancora contrassegnate come stabili (ad esempio, le versioni fornite con Ubuntu di magazzino sono terribilmente obsolete).

L'immagine VMWare è un ottimo modo per iniziare a testare il codice sviluppato da Windows su Linux. Non toccare Cygwin a meno che tu non sia già molto compatibile con esso.

4

Miguel aveva un post sul debug di Mono in esecuzione su Linux con debug remoto su Visual Studio. Questo potrebbe essere qualcosa che vuoi esaminare ... Using Visual Studio to debug Mono. C'è anche un nuovo progetto chiamato CloverLeaf il cui obiettivo è abilitare il debug di Mono su Windows in Visual Studio.

4

Non c'è alcun motivo per compilare l'app utilizzando Mono; l'intero punto del CLR .Net è che l'output compilato è multipiattaforma.

Quindi puoi semplicemente costruirlo usando il tuo IDE preferito (e se ti piacciono gli IDE, quello di Microsoft è il migliore da usare) e poi il test su Mono. Anche se riesci a far funzionare Mono su Windows, non sarebbe un ottimo test della portabilità della tua app: cosa succede se la tua app fa sciocchezze come assumere nomi di file con backslash o qualcosa di speciale in una cartella chiamata Program Files? Il modo migliore per eseguire test di portabilità è testare effettivamente la tua app sulla piattaforma di destinazione.

E questo è abbastanza facile da fare con un lettore VMware Linux come quello a http://www.go-mono.com/mono-downloads/download.html.

4

Personalmente, sto solo compilando in Visual Studio 2008 come se fosse per .Net 2.0 e quindi in esecuzione in Mono (VS2008 su Windows in un VirtualBox, Mono su OSX). Tutti i problemi si presentano comunque in fase di esecuzione, quindi il sistema funziona perfettamente.

Ho appena trovato questo very new link, che è sorprendente e mostra come configurare Visual Studio 2008 per Mono.

Allo stesso tempo, la configurazione di Mono on OpenSuse or Ubuntu inside a VirtualBox (prodotto Sun) è facile, indolore e non ti obbliga ad abbandonare qualsiasi piattaforma in cui normalmente vivi.

Questo non è rilevante per la tua domanda, ma potrei notare che sono appena entrato in Mono e sono stupito di quanto di .Net sia implementato, inclusa gran parte delle cose di Winforms.

11

Un anno dopo e la risposta a questo è molto cambiata. È ora possibile utilizzare MonoDevelop su Windows oppure, se si è più a proprio agio in Visual Studio, è possibile utilizzare Visual Studio Tools per scrivere tutto e quindi eseguire il debug in VM per accertarsi che funzioni su Linux.

Problemi correlati