Here I explained how to install MonoDevelop. As I already explained here, first download Selenium Client & WebDriver Language Bindings, in my case I downloaded this one. You will also need ChromeDriver (this time for linux), in my case I downloaded this one. 

If you try to use chromedriver for windows you will receive errors like:

OpenQA.Selenium.WebDriverException: Unexpected error. System.Net.WebException: Error: ConnectFailure (Connection refused) ---> System.Net.Sockets.SocketException: Connection refused
at System.Net.Sockets.Socket.Connect (System.Net.EndPoint remoteEP) [0x000f7] in <filename unknown>:0
at System.Net.WebConnection.Connect (System.Net.HttpWebRequest request) [0x0019b] in <filename unknown>:0
--- End of inner exception stack trace ---
at System.Net.HttpWebRequest.EndGetRequestStream (IAsyncResult asyncResult) [0x00043] in <filename unknown>:0
at System.Net.HttpWebRequest.GetRequestStream () [0x00057] in <filename unknown>:0
at OpenQA.Selenium.Remote.HttpCommandExecutor.Execute (OpenQA.Selenium.Remote.Command commandToExecute)

and:

run-detectors: unable to find an interpreter for /home/stanko/Downloads/SeleniumTest/SeleniumTest/bin/Debug/chromedriver.exe

Also if you in terminal window write something like:

mono chromedriver.exe

Then you will receive error like:

Cannot open assembly 'chromedriver.exe': File does not contain a valid CIL image

That is why we need to use Linux version of chromedriver.

Download and install Chrome.

Open MonoDevelop, start new solution:

choose console project:

After creating project right click on references:

 

switch to .Net Assembly tab, and add selenium dll's which we downloaded previously. 

Now open Program.cs, in using section write:

using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;

In main method write something like:

ChromeDriverService service = ChromeDriverService.CreateDefaultService(@"/home/myUserName/projects/SeleniumTest/lib/chromedriver_linux64", "chromedriver");
IWebDriver driver = new ChromeDriver(service);
driver.Navigate ().GoToUrl ("http://www.milosev.com");

Notice line:

ChromeDriverService service = ChromeDriverService.CreateDefaultService(@"/home/myUserName/projects/SeleniumTest/lib/chromedriver_linux64", "chromedriver");

This line we need to tell selenium that we will use Linux chromedriver, otherwise Selenium will always try to load chromedriver.exe (Windows one).

Whole application should look like this:

using System;

using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;

namespace SeleniumTest
{
	class MainClass
	{
		public static void Main (string[] args)
		{
			ChromeDriverService service = ChromeDriverService.CreateDefaultService(@"/home/myUserName/projects/SeleniumTest/lib/chromedriver_linux64", "chromedriver");
			IWebDriver driver = new ChromeDriver(service);
			driver.Navigate ().GoToUrl ("http://www.milosev.com");
		}
	}
}

Of course path "/home/myUserName/projects/SeleniumTest/lib/chromedriver_linux64" change to path where you downloaded your chromedriver.

Example download from here, and don't forget to use http in your URL's otherwise Selenium will not work.