2011-11-30 13 views
5

Ho letto molte domande sull'esecuzione del codice .net con mono ma finisco sempre con la stessa domanda. Sto creando una nuova app in questo momento, quindi è meglio iniziare subito e prendere la buona direzione:Can mono eseguire applicazioni compilate framework.net (da un VS env)

Posso sviluppare un'app in Visual C# Express o Visual Basic Express, compilarla dall'ambiente Microsoft utilizzando i compilatori che hanno ed esegui quell'applicazione usando MONO su linux.

Oppure devo lavorare con il compilatore mono da zero (o convertire il mio progetto MS in seguito in mono) per poter usare le mie app .net usando il framework Mono su linux.

Il supporto per Linux/Mac non è davvero un must per lo sviluppo della mia app, ma mi piacerebbe farlo subito dall'inizio.

Grazie


Per quanto riguarda le API:

sto utilizzando WinForms, la crittografia, la globalizzazione, SQLClient ma questo è probabilmente tutti, c'è qualcosa che Mono esperti fuori mi può dire di NON usare dall'inizio.

Oh, e io uso il mio spazio dei nomi per ogni sorta di cose come ottenere il nome del computer, connessi nome utente, le risorse, le impostazioni, ecc ...

+0

Dovresti tornare indietro e accettare le risposte alle vecchie domande che hai chiesto. Se diventa molto più basso, potresti avere problemi a convincere le persone a rispondere alle tue domande. –

+0

Sì, non so perché ho così tante domande, senza risposta, scusa ... di solito le contrassegno: S –

+0

Ora so, ho a malapena domande, e le uniche che ho, la maggior parte di loro sono senza risposta .. . :) –

risposta

6

Generalmente sì, funziona.

Il problema non sta ricompilando, sono le librerie e le API native disponibili. Se si aggiunge l'interoperabilità nativa, la libreria su cui si lavora deve essere disponibile anche su Linux, il che ovviamente non è il caso delle librerie di Windows.

Alcune librerie gestite non sono disponibili affatto (WPF) o sono incomplete (WCF).

Mono ha un'implementazione WinForms, ma sembra estraneo, poiché non usa controlli nativi. Ciò significa che il codice funzionerà su altre piattaforme, ma l'esperienza dell'utente non sarà piacevole.

+0

Questo è quello che pensavo, volevo solo chiarire –

+0

Che cosa succede a My.Computer.Identity.WindowsPrincipal, è stato correttamente portato su un'altra piattaforma? Il client SQL nativo (System.Data.SqlClient) può funzionare su un'altra piattaforma rispetto a Windows? Non installerei mai un MS Sql Server su linux ovviamente, ma se non riesco nemmeno a collegarmi a una macchina Windows usando quell'api, allora mono è inutile –

4

Tutti i compilatori per i linguaggi .NET compilano MSIL standard, che può essere eseguito da qualsiasi implementazione conforme, incluso Mono.

Tuttavia, alcuni assiemi inclusi con Microsoft.Net e Visual Studio non sono disponibili per Mono su piattaforme non Windows.

Problemi correlati