Développer C # sur Linux

107

J'aimerais savoir s'il existe des outils efficaces et open source pour développer des applications C # sur Linux (Ubuntu). En particulier, je dois développer des applications Windows Forms.

Je connais le projet Mono , mais je ne l'ai jamais utilisé. Quels sont les meilleurs outils (IDE, compilateur, etc.) pour mettre en place un environnement de développement .NET sur Ubuntu?

Les logiciels développés sous Linux sont-ils exécutables sous Windows? Y a-t-il différents comportements ou incompatibilités?

Davioooh
la source
N'hésitez
Cela pourrait aussi être utile stackoverflow.com/questions/716077/…
NlightNFotis
Cela peut également être intéressant: mono-project.com/WinForms_Getting_Started_Guide
NlightNFotis

Réponses:

69

MonoDevelop, l'EDI associé à Mono Project devrait suffire au développement C # sous Linux. Maintenant, je ne connais pas de bons profileurs et autres outils pour le développement C # sous Linux. Mais là encore, rappelez-vous que C # est un langage plus natif de Windows. Vous développez mieux des applications C # pour Windows que pour Linux.

EDIT: Lorsque vous téléchargez MonoDevelop à partir du centre logiciel Ubuntu, il contiendra à peu près tout ce dont vous avez besoin pour commencer immédiatement (compilateur, environnement d'exécution, IDE). Si vous souhaitez plus d'informations, consultez les liens suivants:

NlightNFotis
la source
1
Est-ce un logiciel développé sur Linux exécutable sous Windows?
davioooh
2
Les logiciels développés sous Windows ou Linux sont exécutables sur le framework .Net. Donc, tant qu'il est possible d'installer .Net Framework dans le système d'exploitation, il peut exécuter l'application. Vous avez cependant pris connaissance de la version;)
Shiham
@nvr néanmoins je me demandais si une implémentation de framework différente pouvait créer des incompatibilités
davioooh
4
La rétrocompatibilité est toujours là pour autant que je sache. Des problèmes peuvent survenir si vous essayez d'exécuter une application sur .Net 2.0 qui est développé avec .Net 3.5 ou toute version ultérieure.
Shiham
Bien que vous devriez noter, que .Net est toujours capable de plus sur Windows. Mono est plus un projet de compatibilité qu'une implémentation de kit de développement logiciel. C'est comme ça que je le vois au moins.
NlightNFotis
28

Maintenant, Microsoft migre vers l'open source - voir CoreFX (GitHub).

Henry H.
la source
9

Je suggérerais d'utiliser MonoDevelop.

Il est à peu près explicitement conçu pour être utilisé avec Mono, et tout est configuré pour se développer en C #.

Le moyen le plus simple de l'installer sur Ubuntu serait d'installer le package monodevelop dans Ubuntu. ( lien sur Mono sur ubuntu.com ) (Cependant, si vous souhaitez installer une version plus récente, je ne sais pas quel PPA serait approprié)

Cependant, je ne recommanderais pas de développer avec le toolkit WinForms - je ne m'attends pas à ce qu'il ait le même comportement sous Windows et Mono (les implémentations sont assez différentes). Pour un aperçu des boîtes à outils d'interface utilisateur qui fonctionnent avec Mono, vous pouvez accéder à la page d'informations sur Mono-project .

Jean Hominal
la source
8

Mono Develop est ce que vous voulez, si vous avez utilisé Visual Studio, vous devriez le trouver assez simple pour commencer.

Si je me souviens bien, vous devriez pouvoir installer avec sudo apt-get install monodevelop

Chris Diver
la source
La commande d'installation est correcte, mais vous devez vous assurer que vous avez ajouté le référentiel monodevelop à votre système avant de faire cela. Voici un lien en cours de fonctionnement: monodevelop.com/download Et voici le moyen d'ajouter le référentiel: `` 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 est un environnement d'exécution qui peut exécuter des applications .NET et qui fonctionne à la fois sous Windows et Linux. Il inclut un compilateur C #.

En tant qu'IDE, vous pouvez utiliser MonoDevelop , et je suppose qu'il y a aussi quelque chose de disponible pour Eclipse.

Notez que la prise en charge de WinForms sur Mono est là, mais manque quelque peu. En règle générale, les développeurs Mono semblent préférer différentes boîtes à outils d'interface graphique telles que Gtk #.

OU Mappeur
la source