web-dev-qa-db-fra.com

Comment puis-je compiler, exécuter et décompiler du code C # dans un terminal Ubuntu?

J'ai un code C # dont j'ai besoin pour compiler, exécuter et décompiler à l'aide du terminal.

Comment puis-je le faire?

4
Sonevol

Vous pouvez utiliser mono, qui est une implémentation de C#, ayant un support multiplateforme et étant open source.

Ouvrez le terminal et installez mono:

Pour Ubuntu 18.04

Sudo apt install apt-transport-https dirmngr
Sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
echo "deb https://download.mono-project.com/repo/ubuntu vs-bionic main" | Sudo tee /etc/apt/sources.list.d/mono-official-vs.list
Sudo apt update

Pour Ubuntu 16.04

Sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
Sudo apt install apt-transport-https
echo "deb https://download.mono-project.com/repo/ubuntu vs-xenial main" | Sudo tee /etc/apt/sources.list.d/mono-official-vs.list
Sudo apt update

Pour Ubuntu 14.04

Sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
Sudo apt install apt-transport-https
echo "deb https://download.mono-project.com/repo/ubuntu vs-trusty main" | Sudo tee /etc/apt/sources.list.d/mono-official-vs.list
Sudo apt update

Puis tapez

Sudo apt install mono-complete

Créer un exemple de fichier C# dans le répertoire en cours

Par exemple, vous pouvez utiliser le code suivant:

class GoodDay
{
    public static void Main()
    {
        System.Console.WriteLine("Good Day!");
    }
}

Utilisez n’importe quel éditeur de texte tel que gedit, tapez le code suivant et enregistrez le fichier sous le nom GoodDay.cs.

La commande pour compiler le code -

mcs -out:GoodDay.exe GoodDay.cs

Un fichier exécutable GoodDay.exe est généré.

La commande pour exécuter le fichier .exe -

mono GoodDay.exe

La sortie sera -

Good Day!

La commande pour décompiler le fichier exécutable -

monodis --output=GoodDay.txt GoodDay.exe

Les informations de code décompilées sont enregistrées dans le fichier nouvellement généré GoodDay.txt

2
Sonevol

Vous devez installer mono-complete si vous souhaitez exécuter un logiciel pour Mono ou Microsoft .NET que vous n'installez pas à partir d'un paquet Debian.


  1. Installez mono-complet . Dans toutes les versions actuellement prises en charge d'Ubuntu, ouvrez le terminal et tapez:

    Sudo apt install mono-complete
    
  2. Enregistrez votre code C # dans un fichier appelé hello.cs. Exemple de code hello.cs:

    using System;
    
    namespace Project_1 {
        class MainClass {
            public static void Main (string[] args) {
                Console.WriteLine ("Hello World!");
                Console.ReadKey ();
            }
        }
    }
    
  3. Rendre hello.cs exécutable. Cliquez avec le bouton droit sur le fichier hello.cs -> sélectionnez Propriétés -> Autorisations onglet -> mettre une coche à gauche de Autoriser l'exécution du fichier en tant que programme .

  4. Remplacez les répertoires à l'aide de la commande cd par le répertoire contenant le fichier hello.cs.

  5. Utilisez le compilateur mcs et créez un exécutable Windows nommé hello.exe à partir du fichier source hello.cs.

    mcs -out:hello.exe hello.cs
    
  6. Exécutez le programme hello.exe avec mono.

    mono hello.exe
    
  7. Les résultats de l'exécution de votre programme à l'étape 6. devraient être:

    Hello World!  
    
  8. Presse Enter pour revenir à une invite de terminal par défaut.

  9. Décompiler le fichier exécutable.

    monodis --output=decompiled-hello.txt hello.exe
    
3
karel