Running Windows Services on Linux with Mono

I knew you could run .NET executables on Linux with Mono, but I didn’t know you could run services too.

For example, this program to download and start a file works on Windows, Linux and OSX:

namespace Demo
{
    static class Program
    {
        const string url = @"https://example.com";
        const string filename = @"example.txt";
    static void Main()
    {
        string tempfilename = System.IO.Path.Combine(System.IO.Path.GetTempPath(), filename);
        (new System.Net.WebClient()).DownloadFile(url, tempfilename);
        System.Diagnostics.Process.Start(tempfilename);
    }
}

}

Services can be executed too on Mono, I discovered that when I launched service.exe:

As I just installed mono-devel, mono-service was not installed. For that, I need the complete Mono: sudo apt-get install mono-complete

And then I can run service.exe (which launches ping 127.0.0.1):


Article Link: https://blog.didierstevens.com/2017/09/07/running-mono/