Sviluppo di C # su Linux


107

Vorrei sapere se esistono strumenti efficaci e open source per sviluppare applicazioni C # su Linux (Ubuntu). In particolare, devo sviluppare applicazioni Windows Form.

Conosco il progetto Mono , ma non l'ho mai usato. Quali sono i migliori strumenti (IDE, compilatore, ecc.) Per configurare un ambiente di sviluppo .NET su Ubuntu?

Il software sviluppato su Linux è eseguibile su Windows? Esistono comportamenti o incompatibilità differenti?


Inoltre, sentitevi liberi di controllare questa domanda stackoverflow.com/questions/151350/...
NlightNFotis

Questo potrebbe anche essere in qualche modo utile stackoverflow.com/questions/716077/...
NlightNFotis

Risposte:


69

MonoDevelop, l'IDE associato a Mono Project dovrebbe essere sufficiente per lo sviluppo C # su Linux. Ora non conosco nessun buon profiler e altri strumenti per lo sviluppo C # su Linux. Ma poi di nuovo attenzione, che C # è un linguaggio più nativo di Windows. Stai sviluppando meglio app C # per Windows che per Linux.

EDIT: quando scarichi MonoDevelop da Ubuntu Software Center, conterrà praticamente tutto ciò di cui hai bisogno per iniziare subito (compilatore, ambiente runtime, IDE). Se desideri maggiori informazioni, consulta i seguenti link:


1
È un software sviluppato su Linux eseguibile su Windows?
davioooh

2
Il software sviluppato su Windows o Linux è eseguibile su .Net framework. Quindi, finché è possibile installare .Net framework nel sistema operativo, è possibile eseguire l'applicazione. Sei venuto a conoscenza della versione però;)
Shiham

@nvr, tuttavia, mi chiedevo se un'implementazione del framework diversa possa creare incompatibilità
davioooh

4
La compatibilità con le versioni precedenti è sempre presente, per quanto ne so. Possono verificarsi problemi se si tenta di eseguire un'applicazione su .Net 2.0 sviluppato con .Net 3.5 o qualsiasi versione successiva.
Shiham

Anche se dovresti notare che .Net è sempre in grado di fare di più su Windows. Mono è più un progetto di compatibilità che un'effettiva implementazione di un kit di sviluppo software. Almeno è così che la vedo.
NlightNFotis


9

Suggerirei di utilizzare MonoDevelop.

È praticamente progettato esplicitamente per l'uso con Mono e tutto configurato per lo sviluppo in C #.

Il modo più semplice per installarlo su Ubuntu sarebbe installare il pacchetto monodevelop in Ubuntu. ( link su Mono su ubuntu.com ) (Tuttavia, se vuoi installare una versione più recente, non sono sicuro quale PPA sarebbe appropriato)

Tuttavia, non consiglierei di sviluppare con il toolkit WinForms - non mi aspetto che abbia lo stesso comportamento in Windows e Mono (le implementazioni sono piuttosto diverse). Per una panoramica dei toolkit dell'interfaccia utente che funzionano con Mono, puoi andare alla pagina delle informazioni su Mono-project .


8

Mono Develop è quello che vuoi, se hai usato Visual Studio dovresti trovarlo abbastanza semplice per iniziare.

Se ricordo bene dovresti essere in grado di installare con sudo apt-get install monodevelop


Il comando di installazione è corretto, tuttavia è necessario assicurarsi di aver aggiunto il repository monodevelop al sistema prima di farlo. Ecco un collegamento attualmente funzionante: monodevelop.com/download Ed ecco il modo per aggiungere il repository: `` sudo apt install apt-transport-https dirmngr sudo apt-key adv --keyserver hkp: //keyserver.ubuntu. com: 80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF echo "deb download.mono-project.com/repo/ubuntu vs-bionic main" | sudo tee /etc/apt/sources.list.d/mono-official-vs.list sudo apt update `` ''
FreedomInChaos,

6

Mono è un ambiente di runtime che può eseguire applicazioni .NET e che funziona sia su Windows che su Linux. Include un compilatore C #.

Come IDE, potresti usare MonoDevelop e suppongo che sia disponibile anche qualcosa per Eclipse.

Nota che il supporto WinForms su Mono è presente, ma in qualche modo manca. In generale, gli sviluppatori Mono sembrano preferire diversi toolkit GUI come Gtk #.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.