{{tag>Jammy programmation windows}} ---- ====== MonoDevelop : Un IDE pour Mono/.NET ====== ===== Présentation ===== MonoDevelop fait partie du projet [[http://www.mono-project.com/Main_Page|Mono]]. C'est un IDE libre de GNOME initialement conçu pour le C# et les autres langages .NET et permet de développer des applications Web, Desktop, Web Service, Console, etc. Il a été initialement un portage de SharpDevelop. MonoDevelop est multi-plateformes : * GNU/Linux * Mac OSX * Windows ===== Fonctionnalités ===== MonoDevelop permet de créer de véritables projets avec un éditeur de classes, de fichiers. MonoDevelop est extensible par des add-in, il en existe notamment pour la gestion des base de données, le support de SVN. Le liste complète des fonctionnalités est disponible sur cette page :[[http://monodevelop.com/Documentation/Feature_List|Fonctionnalités MonoDevelop]] ===== Licence ===== Depuis la version 2.2 Beta 2, Monodevelop est développé sous licence [[wpfr>LGPL|LGPL 2.1]]. Le principal changement que cela induit est que les add-ins peuvent être développés sous la licence du choix du développeur. ===== A propos de Mono ===== Mono est une plate-forme de développement complète basée sur une implémentation de la machine virtuelle .NET et des API de base définis à l’ECMA . Mono propose entre autres : * Des API indépendantes de l’environnement : sécurité, base de données, Service web, XML, web forms. * Des API destinées à la programmation sous GNU/Linux et plus particulièrement GNOME : GTK#, Glade# Gecko#, Gst#. * Des API compatibles avec le framework .Net de Microsoft. * Un outil pour naviguer dans la documentation : Monodoc, qui a l'originalité de pouvoir être modifié par le programmeur qui peut ensuite envoyer automatiquement les modifications au CVS de Mono. * Un compilateur pour le langage C# 4 à partir de la version 2.4.3. Souvent présenté comme une évolution du langage Java avec une pincée de C++. Sans être une révolution, ce langage apporte de réels plus qui le rendent très agréable et puissant. Mono propose également un compilateur Javascript et VB.NET. * Un serveur web léger entièrement compatible avec la technologie ASP.NET qui permet d'utiliser n'importe quel langage de la plate-forme pour générer des sites web dynamiques. Un module Apache est également disponible. ===== Installation ===== Il est recommandé par Xamarin d'utiliser le flatpak dédié. [[:tutoriel:comment_installer_un_paquet|Installez le paquet]] **[[apt>flatpak]]**. Puis installer monodevelop depuis flatpak flatpak install --user --from https://download.mono-project.com/repo/monodevelop.flatpakref flatpak exécutant les applications dans un bac à sable, les bibliothèques présentes dans votre système ne peuvent être appelées par DllImport dans votre application/projet ===== Configuration ===== ==== Exécution des applications console ==== Afin d'exécuter des applications console ou si vous rencontrez le message d'erreur « **File name has not been set** ». [[:tutoriel:comment_installer_un_paquet|Installer le paquet]] **[[apt>xterm|xterm]]**. ==== Could not connect to debugger ==== Si vous avez l'erreur « Could not connect to debugger », lancez monodevelop depuis un terminal avec avant: * Pour Gnome: « //unset GNOME_DESKTOP_SESSION_ID// » * Pour KDE: « //unset KDE_SESSION_VERSION// » * Pour Mate: « //unset MATE_DESKTOP_SESSION_ID// » [[http://superuser.com/questions/669444/monodevelop-cannot-connect-to-debugger#744763|Source]] ===== Liens externes ===== === MonoDevelop === * (en) [[http://www.monodevelop.com|Site web MonoDevelop]] * (en) [[http://go-mono.com/forums/|Forum - Mono - MonoDevelop]] * (en) [[http://www.icsharpcode.net/OpenSource/SD/|Site web SharpDevelop]] * (en:irc) [[irc://irc.gimp.org/monodevelop|#monodevelop sur l'irc.gimp.org]] === Mono === * (en) [[http://www.mono-project.com|Site officiel du projet Mono]] * (en) [[http://www.go-mono.com/docs/|Documentation des classes de Mono]] * (en) [[http://pkg-mono.alioth.debian.org|Mono pour Debian]] ---- //Contributeurs : [[utilisateurs:ronan|ronan]], [[utilisateurs:binnette]], [[utilisateurs:breizhodrome]] //