Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

리눅스에서 C# 코드 실행하기: Mono 활용 완벽 가이드

개요

지금까지 .NET 기반 애플리케이션은 Windows 운영체제 전용이라고 여겨져 왔습니다. 하지만 마이크로소프트가 Mono라는 새로운 크로스 플랫폼 솔루션을 선보이면서 상황이 달라졌습니다. Mono를 사용하면 .NET 플랫폼에서 개발된 애플리케이션을 Linux 환경에서도 실행할 수 있으며, 마치 .exe 파일을 구동하는 것이 아니라 리눅스 패키지를 실행하는 듯한 자연스러운 사용 경험을 제공합니다.

Mono란 무엇인가?

Mono는 개발자가 Mac이나 Linux와 같은 다른 플랫폼에서 .NET 기반 애플리케이션을 실행할 수 있도록 지원하는 오픈 소스 유틸리티입니다. Windows용 설치 패키지도 함께 제공되기 때문에 Visual Studio IDE나 .NET Framework SDK를 별도로 설치하지 않고도 Windows OS에서 .NET 어셈블리를 컴파일하고 실행할 수 있습니다.

또한 Mono에서 기존 핵심 CLR 네임스페이스를 활용하면 Windows Forms, LINQ, XML 웹 서비스, ADO.NET, ASP.NET 등을 사용하는 실시간 프로덕션 수준의 어셈블리까지 빌드할 수 있습니다.

먼저 wget 유틸리티를 사용해 Mono 바이너리를 다운로드한 뒤, 아래 명령어 시리즈를 순서대로 실행하여 올바르게 구성합니다:

wget --no-check-certificate https://raw.github.com/nathanb/iws-snippets/master/mono-install-scripts/ubuntu/install_mono-3.0.sh
chmod 755 install_mono-3.0.sh
./install_mono-3.0.sh

추가로 .NET 바이너리를 컴파일할 수 있도록 MCS 패키지를 함께 설치해 줍니다:

root/kali:~/ sudo apt-get install mcs

C# 코드 컴파일하기

Mono 콘솔 애플리케이션의 구조는 기존 C#.NET 콘솔 애플리케이션과 거의 동일합니다. 첫 번째 Mono 기반 콘솔 애플리케이션(test.cs)을 만들려면 VIM과 같은 코드 편집기를 열고 다음 코드를 입력합니다.

using System;
namespace test {
    class test{
        public static void Main(string[] args) {
            System.Console.WriteLine("C# app Compiled on Kali Linux");
        }
    }
}

코드 작성이 끝나면 터미널을 열고 아래 명령어를 입력하여 코드를 컴파일합니다.

root/kali:~/ mcs test.cs
root/kali:~/ ls
test.cs test.exe

위 명령을 실행하면 Windows에서처럼 실행 가능한 파일이 생성됩니다. 이제 ./test.exe 또는 mono test.exe 명령을 입력하여 C# 바이너리를 실행할 수 있습니다. 아래 스크린샷은 지금까지 진행한 모든 과정을 한눈에 보여줍니다.

리눅스에서 C# 코드 실행하기: Mono 활용 완벽 가이드