5. 개발환경(C#): Linux + Monodevelop¶
Linux 데스크탑에서 Monodevelop IDE를 이용해서 C# 으로 개발하는 방법을 설명합니다.
Important
현재 Mono 라이브러리의 버전 문제로 Ubuntu 에서 C# 프로젝트를 실행할 수 없는 문제가 있습니다. 아이펀엔진과 Monodevelop 개발도구를 설치하기 전 반드시 아래 절차를 따라 Mono 라이브러리 저장소를 설정 해 주시기 바랍니다.
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
// Ubuntu 16.04 일 경우
echo "deb http://download.mono-project.com/repo/ubuntu stable-xenial/snapshots/5.10.1 main" | sudo tee /etc/apt/sources.list.d/mono-xamarin.list
// Ubuntu 18.04 일 경우
echo "deb http://download.mono-project.com/repo/ubuntu stable-bionic/snapshots/5.10.1 main" | sudo tee /etc/apt/sources.list.d/mono-xamarin.list
sudo apt-get update
sudo apt-get install mono-devel
Important
현재 아이펀엔진 C#은 Flatpak버전의 MonoDevelop를 지원하지 않습니다.
5.1. 새 프로젝트 생성¶
명령행에서 다음과 같이 입력하여 hello
라는 서버 프로젝트를 생성합니다.
$ funapi_initiator hello --csharp
Important
Monodevelop IDE를 사용하기 위해서는 프로젝트를 반드시 C# 프로젝트 로
생성해야 합니다. 즉, 위의 예에서 --csharp
을 반드시 쓰셔야 됩니다.
5.2. Monodevelop 로 프로젝트 열기¶
- Monodevelop을 실행합니다.

- 좌측 상단의
파일
을 클릭 후열기
버튼을 누릅니다.

- 프로젝트 내 mono 디렉토리에 있는
hello.csproj
혹은hello.sln
파일을 엽니다. (프로젝트 이름이 hello 가 아닌 경우{{ProjectName}}.csproj
혹은{{ProjectName}}.sln
파일을 엽니다.)

프로젝트를 로드하는 모든 과정이 끝났습니다. 프로젝트가 열리게 되면 코딩을 시작하실 수 있습니다.

5.3. Monodevelop 로 빌드하기¶
특별한 설정 없이 Build
메뉴나 F8
버튼을 눌러 빌드를 하실 수 있습니다.
또한 프로젝트를 우클릭하여 Build
, Rebuild
, Clean
등의 기능을 활용할 수도 있습니다.

5.3.1. Monodevelop 7 버전에서 실행 시¶
7 버전에서 프로젝트를 실행할 때는 다음 그림과 같이 {프로젝트 이름}-Custom Command
를
대상으로 지정해야 정상적인 실행이 가능합니다.

5.3.2. Monodevelop 7 이전 버전에서 생성한 프로젝트를 7 버전에서 실행할 때¶
7 이전 버전에서 생성한 프로젝트를 7 버전에서 실행할 경우 정상적인 빋드가 되지 않을 수 있습니다.
이 때는 Monodevelop에서 생성한 빌드 파일({프로젝트 디렉토리}/mono/bin
} 파일을 삭제한 후
다시 시도해 주시기 바랍니다.
5.4. Monodevelop 로 디버깅하기¶
Mono에서 디버깅을 하기위해서는 Monodevelop IDE 의 Mono Soft Mode Debugger 기능을 이용하여 진행해야합니다.
5.4.1. Mono Soft Debugger 사용 설정¶
Mono Soft Debugger 기능을 활성화 하기 위해 환경 변수에 MONODEVELOP_SDB_TEST 값을 설정합니다. 아래 명령을 입력합니다.
$ echo "export MONODEVELOP_SDB_TEST=1" >> ~/.profile
해당 내용이 진행 되고 나면 로그아웃했다가 다시 로그인하거나 재부팅하여 해당 내용을 적용합니다. 환경 변수가 설정 되었는지 확인은 아래와 같이 하실 수 있습니다.
$ echo $MONODEVELOP_SDB_TEST
1
이제 Monodevelop 을 실행하여 상단의 Run With 의 하위 메뉴를 확인합니다. 그 다음 하위 메뉴에 있는 Custom Command Mono Soft Debugger 를 클릭합니다.

Listen 을 클릭합니다. 여기까지 Monodevelop IDE에서 설정은 끝입니다. Monodevelop IDE는 이제 디버깅을 대기하는 상태입니다.

이제, 게임 서버를 실행시켜 디버거에 연결합니다. 다음과 같이 입력합니다.
$ ./hello/mono/bin/Debug/buildcpp/hello-local --mono_debug
아래와 같이 디버깅 과정을 진행됩니다.

5.4.2. Monodevelop 7 버전에서 Mono Soft Debugger 사용¶
7 버전부터는 Mono Soft Debugger 기능이 Custom Configuration
설정으로 옮겨졌습니다.

Custom Configuration
설정을 클릭하면 보이는 아래 화면에서
Custom Command Mono Soft Debugger 를 클릭하면 됩니다.

Important
Custom Command Mono Soft Debugger 가 목록에 없다면
$MONODEVELOP_SDB_TEST
환경 변수 설정이 제대로 되어있는지 확인해 주세요.