How to Install Mono on CentOS 8

Posted 

2 min read

Mono is a platform for developing and running cross-platform applications based on the ECMA/ISO Standards. It is a free and open-source implementation of Microsoft’s .NET framework.

This tutorial describes how to install Mono on CentOS 8.

Prerequisites

The instructions assume that you are logged in as root or user with sudo privileges .

Installing Mono on CentOS

The easiest and the recommended way to install Mono on CentOS 8 is to install it from Mono’s repositories. It is a relatively simple process and will only take a few minutes.

  1. Start by importing the repository’s GPG key:

    sudo rpm --import 'http://pool.sks-keyservers.net/pks/lookup?op=get&search=0x3fa7e0328081bff6a14da29aa6a19b38d3d831ef'

    On success, no output is produced.

  2. Add the Mono repository to your system by running the command below:

    dnf config-manager --add-repo https://download.mono-project.com/repo/centos8-stable.repo

    The output should look something like the following:

    Adding repo from: https://download.mono-project.com/repo/centos8-stable.repo
  3. Once the repository is enabled install Mono:

    sudo dnf install mono-complete 

    mono-complete is a meta-package that installs the Mono runtime, development tools, and all libraries.

  4. Verify the installation by running the following command that prints the Mono version:

    mono --version

    At the time of writing this article, the latest stable version of Mono is 6.8.0.105:

    Mono JIT compiler version 6.8.0.105 (tarball Tue Feb  4 19:28:42 UTC 2020)
    Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
        TLS:           __thread
        SIGSEGV:       altstack
        Notifications: epoll
        Architecture:  amd64
        Disabled:      none
        Misc:          softdebug 
        Interpreter:   yes
        LLVM:          yes(610)
        Suspend:       hybrid
        GC:            sgen (concurrent by default)

That’s it. You have successfully installed Mono on your CentOS system, and you can start using it.

Getting Started with Mono

To ensure that everything is set up correctly, we’re going to build a Hello World program that prints the classic “hello world” message.

Open your text editor and create a file named hello.cs with the following content:

hello.cs
using System;

public class HelloWorld
{
    public static void Main(string[] args)
    {
        Console.WriteLine ("Hello World!");
    }
}

Use the csc compiler to build the program:

csc hello.cs

The command above will create an executable named hello.exe.

Run the program using the command below:

mono hello.exe

The output should look something like this:

Hello, World

If you want to execute the program only by typing its name, you’ll need to set an executable flag :

chmod +x hello.exe

You can now run the hello.exe file by typing:

./hello.exe

Conclusion

The latest stable Mono release packages are available for installation from the official Mono package repository.

If you hit a problem or have feedback, leave a comment below.