아, 4번 5번이에요. Mono는 네이티브 코드는 아니죠. 닷넷 4.5까지, C# 5.0까지가 Mono로 구현되어 있습니다. ECMA 표준으로 정의된 C#은 완전히, MS 확장도 상당히 많이 구현되어 있습니다. mono는 .NET 바이트코드를 실행하기 위한 VM과 C#, F#, IronRuby 등을 컴파일하기 위한 컴파일러로 구성되어 있는데요.
비주얼 스튜디오에서 빌드된 .NET 응용 프로그램을 실행할 수도 있고, 반대로 Mono에서 컴파일한 프로그램을 .NET Framework에서 실행할 수도 있습니다.
그런데 mono는 .NET Framework와 다르게 Windows, Mac, Linux 등의 여러 플랫폼에서 실행되는 크로스 플랫폼 구현이고, 안드로이드 및 아이폰 용 응용 프로그램을 만들 수 있는 버전도 나와 있거든요.