Kompilacja i uruchomienie kodu C# w linii poleceń (Windows, Linux)

Kompilacja i uruchomienie kodu C# w linii poleceń (Windows, Linux). W czasach moich studiów na 1 roku uczyłem się programować w języku C++. Uczyłem się wtedy zasad OOP (Object Oriented Programming), potocznie nazywanych: obiektowość. Przede wszystkim czas płynął a ja sądziłem, że nadal uczą obiektowości na przykładzie języka C++.

Podczas, gdy ja naturalnie przesiadłem się na język C#, uczelnie zrobiły podobny krok. Kompilacja C++ odbywała się z linii poleceń w zasadzie pod dowolnym systemem operacyjnym. Wtedy głównie pisałem pod Linuxem. Czy obecnie C# daje takie same możliwości?

Tak. Okazuje się, że praktycznie dla każdego użytkownika znajdzie się narzędzie do programowania w C#. Oczywiście zalecanym przez Microsoft narzędziem do programowania w C# jest Visual Studio (lub Visual Code) – duże środowisko IDE. Moim celem jest jednak pokazanie możliwości kompilacji i uruchamiania kodu z linii poleceń.

W sieci można znaleźć różne narzędzia dla różnych systemów operacyjnych. I tak mamy:

  1. CSC – C-Sharp Compiler,
  2. Mono – dostępny razem z MonoDevelop i działający np. w terminalu pod Linuxem,
  3. REPL.it – ciekawa strona pokazująca wynik działania programu.

Kompilacja i uruchomienie pod systemem Windows

W systemie Windows kompilacja z linii poleceń wydaje się najprostsza do realizacji. Mianowicie wystarczy zainstalować .NET Framework (https://dotnet.microsoft.com/download/dotnet-framework/net472) i dla wygody dodać ścieżkę instalacji (C:\Windows\Microsoft.NET\Framework\v4.0.30319) do zmiennej środowiskowej „PATH”. Po takim zabiegu można już otworzyć linię poleceń (Win + R, wpisz cmd i uruchom) i poleceniem csc skompilować program.

csc /out:hello_world.exe hello_world.cs

Kompilacja i uruchomienie pod systemem Linux

W systemie Linux możemy użyć kompilatora mcs, który jest instalowany przy okazji instalacji MonoDevelop.

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

Opcja tylko z instalacją mcs:

sudo apt-get update
sudo apt-get install mono-mcs

Po poprawnej instalacji mcs, można tworzyć pliki w dowolnym edytorze i kompilować je w terminalu.

mcs -out:hello_world.exe hello_world.cs

Jeśli chodzi o uruchomienie pliku wynikowego to nie jest taka łatwa sytuacja, ale jest kilka rozwiązań. Możemy się wspomóc poleceniem mono lub użyć wine’a.

mono hello_world.exe
wine hello_world.exe

Ciekawostka: podczas kompilacji można dołączyć biblioteki z systemu Windows.

mcs -out:program.exe -r:System.Windows.Forms.dll -r:System.Drawing.dll *.

Hello world w C#

Na koniec klasyczny przykład programu hello world w języku C#

using System;
class HelloWorld {
  static void Main() {
    Console.WriteLine("Hello World");
  }
}

Jeśli chodzą Ci po głowie podobne pomysły to napisz o tym w komentarzach. Jeśli jesteś zainteresowany podobnymi tematami to napisz o tym. Od niedawna założyłem konto na facebook’u, na które zapraszam.

Leave a Reply

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *