MonoDevelop

De Banane Atomic
Révision datée du 19 juillet 2017 à 16:44 par Nicolas (discussion | contributions) (→‎Erreurs)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à la navigationAller à la recherche

Installation

Bash.svg
sudo pacman monodevelop monodevelop-debugger-gdb mono-tools
# mono-tools contient la doc et des outils tels que: gendarme, gsharp, gui-compare

Raccourcis clavier

Ctrl Alt C (dé)commenter la ligne

Préférences: Modifier → Préférences

  • Langue: Environnement → Langue
  • Thème graphique: Environnement → Langue
  • Mises à jour: Environnement → Updates
  • Emplacement par défaut des solution: Projets → Charger/Enregistrer
  • Espaces à la place des tabulations: Source Code → Code Formatting → Text File → cocher Convert tabs to spaces
MonoDevelop 6.0 has a dark theme.

Could not connect to the debugger

gnome-terminal n’accepte plus l'argument --disable-factory.

Désactiver la console externe

  • Allez dans les Options du projet → Run, General → Décochez « Run on external console »
  • Allez dans les Options du projet → Exécuter, Général → Décochez « Exécuter sur une console externe »

Changer la console externe

Bash.svg
# désinstaller xterm si nécessaire
# installer urxvt
sudo pacman -S rxvt-unicode

# lancer urxvt au lieu de xterm
sudo ln -s /usr/bin/urxvt /usr/bin/xterm

# forcer l'utilisation de xterm/urxvt au lieu de gnome-terminal
unset GNOME_DESKTOP_SESSION_ID && monodevelop

Configuration d'urxvt

~/.Xresources
! scroll back to the bottom on keypress
URxvt*scrollTtyKeypress: true

! font
URxvt.font: xft:monofur:size=18

! scrollbar à droite
URxvt.scrollBar_right: true

! fond noir
*background: #404552
*foreground: #c8c8c8

The xsp4 web server cannot be found

Bash.svg
sudo pacman -S xsp

Address already in use

Le serveur xsp à déjà été lancé depuis une console et ne peut être relancé depuis MonoDevelop.
Arrêter le serveur xsp et exécuter à nouveau la solution depuis MonoDevelop.

Error launching web browser

Par défaut, c'est l'explorateur epiphany qui est utilisé. Il faut donc le remplacer par un autre qui est installé.

Bash.svg
gconftool-2 --set --type=string /desktop/gnome/url-handlers/http/command 'firefox %s'

Versions des assembly

Le changement de numéro de version ne semble pas fonction ni au niveau du projet, ni au niveau de la solution.
Pour changer le numéro de version d'un projet, il faut donc éditer le fichier suivant:

Properties/AssemblyInfo.cs
[assembly: AssemblyVersion("2.0")]

Désassembler

  1. Double-cliquer sur une assembly ouvre l'Assembly Browser
  2. Visibility → All members
  3. Language → C#

Tests unitaires

Liens

Création d'un projet de tests unitaires

  1. Ajouter un nouveau projet de type NUnit Library Project → MonProjetTest
  2. Ajouter une référence à MonProjet

Code

Csharp.svg
using NUnit.Framework;
using MonProjet;

namespace MonProjetTest
{
    [TestFixture()]
    public class Test
    {
        [Test]
        public void MaMéthodeTest()
        {
            var o = new MaClasse();
            var résultat = o.MaMéthode();
            Assert.AreEqual(111, résultat);
        }

        [Test]
        [ExpectedException(typeof(DivideByZeroException))]
        public void DivisionTest()
        {
            var o = new MaClasse();
            o.Division(45, 0);
            // assert is handled by the ExpectedException
        }
    }

Accéder aux éléments private

Mono ne prenant pas en charge PrivateObject, une solution est d'utiliser les Friend Assemblies pour pouvoir accéder aux éléments internal

Gtk#

ASP.NET MVC

Pour accéder à l'assembly System.Web.Mvc: clique-droit sur le projet → Options → Build → General → Target Framework : .NET Framework

Erreurs

Fichier de log ~/.config/MonoDevelop/log

Crash à l'ouverture d'un projet

Bash.svg
# monodevelop cherche une version spécifique de libgit et crash s'il ne la trouve pas
sudo ln -s /usr/lib/libgit2.so /usr/lib/libgit2-e8b8948.so