Вы ищете Mono Project - кроссплатформенную (но в первую очередь ориентированную на Linux) реализацию .NET Framework и CLR. Он способен запускать двоичные файлы, скомпилированные для CLR (MS .NET), или создавать собственные собственные двоичные файлы Linux.
Проект уже давно идет, и его текущая версия (2.4) очень удобна, даже для производственных целей . См. План проекта для получения подробной информации об основных функциях и этапах текущих и будущих версий.
Информация о текущем состоянии:
Подавляющее большинство BCL (библиотеки базовых классов) доступно в Mono, за исключением некоторых компонентов .NET 3.0 / 3.5, таких как WPF (который в настоящее время имеет минимальную поддержку) и WCF (почти не существует). служба поддержки). Однако Silverlight 2.0 поддерживается проектом Moonlight , и прогресс в этом направлении идет хорошо. Насколько я знаю, функциональность WinForms (которая использует GTK # в качестве бэкэнда) довольно полна.
Реализация языка C # 3.0 фактически завершена, включая такие функции C # 3.0, как лямбда-выражения , LINQ и автоматические свойства . Я полагаю, что C # компилятор является зрелым настолько, что его эффективность, по крайней мере, сравнима с эффективностью компилятора MS, но еще не соответствует ему в некоторых отношениях. Что весьма круто (и уникально) в компиляторе Mono C #, так это то, что теперь он предлагает сервис компилятора - другими словами, настоящую динамическую компиляцию из кода (без использования CodeDOM). Это то, что MS, возможно, добавит только в .NET 5.0.