Thursday, April 14, 2016

Running dotnet on Linux

Server: Linux, version SUSE 12

To run dotnet code on Linux, the first and foremost task is to "Install Mono package on linux".

Note: Mono is an open implementation of Microsoft's .Net framework, including compilers. It uses the same development libraries on Linux which are being used on Windows. Therefore, if you code and compiled some mono code on Linux,  it will work for Windows as well.

      zypper is a package installation tool which is used in this scenario. If zypper is not available, check which package manager tool is installed on server. Furthermore, to verify if zypper is installed or not, type zypper on command line which will show all options if zypper is available on server else it will show 'command not found'.

zypper ar -r http://download.opensuse.org/repositories/Mono/SLE_11_SP2/Mono.repo

The above command will download from mentioned URL in a new repository. Here 'ar' stands for 'add repo'.

After adding it to repository, type 'zypper refresh' command, it will ask to install packages. Type the appropriate option and install the Mono packages.


Once successful installation,       we are all set to run dotnet on linux server.

Running first dotnet code

Create a new test.cs file by typing following command.

$cat>test.cs

Now open the file using any available editor. In this case it is 'vi' editor.

vi test.cs

Starting writing the first dotnet code as shown below.

      Information about 'vi' editor:
  • Type 'i' to change it to insert mode.
  • Type 'esc' to come out of insert mode.
  • Type ':w' to write the file and save.
  • Type ':q' to quit and come back to command line tool.

       NOTE: If any exception appears like '!' is required to override the file. Type ":w!" to override the existing file and write the new text. OR Type ":q!" to override the existing file with new text and quit.

C# code for 'test.cs':
using System;
namespace Test1
{
class Test1
{
static void Main(string[] args)
{
Console.WriteLine("Hello World!!");
}
}
}

Once you have saved the file, its time to compile it. 'mcs' is command which is used for compiling the code.

dev-server-linux-suse12:~ # mcs test.cs

After compilation is successfully completed, its time to run the application. As it is console project, '.exe' file will be created as output. 'mono' is the command used for running the test project.

dev-server-linux-suse12:~ # mono test.exe
Hello World!!

You are all set to run dotnet on Linux. Provide your valuable comments/suggestions.