Какие элементы .NET отсутствуют в Mono?

Я имею в виду библиотеку и синтаксис C#.


person Sergey    schedule 02.11.2009    source источник


Ответы (7)


Информацию о библиотеке классов можно получить на странице состояния библиотеки классов Mono.

person Adam Wright    schedule 02.11.2009

C# 3.0 поддерживается полностью.

Версия C# 4.0 работает, но считается "предварительной версией" до тех пор, пока компилятор MS не будет завершен. Есть даже несколько языковых расширений, хотя я сомневаюсь, что они будут когда-либо перенесены в компилятор MS.

person elder_george    schedule 02.11.2009
comment
Не совсем. Если вы посмотрите на страницу состояния Mono, C# 3.0 в основном готов. - person Patrik Svensson; 02.11.2009
comment
Просмотрев их систему отслеживания ошибок bugzilla.novell.com/index.cgi, я нашел несколько несоответствия с компилятором MS C# (в том числе появившиеся в .NET 3.5 SP1). Но тем не менее вы правы, спасибо за замечание. - person elder_george; 02.11.2009
comment
Я проголосовал за исходный ответ до тех пор, пока он не будет отредактирован с уточнением о том, что реализация 3.0 в основном не поддерживается полностью, как указал Патрик. - person John K; 02.11.2009

Вы можете просмотреть обновления статуса Mono (на самом деле, как временную шкалу) из их вики.

Отчет о статусе моно

person Anthony M. Powers    schedule 02.11.2009

Существует довольно глубокий анализ здесь с января этого года.

Также полезна статья Википедии "Текущий статус и дорожная карта". .

person JeffH    schedule 02.11.2009

В этом отношении нет эквивалента исправления VT или чего-либо, связанного с неуправляемым экспортом.

Впрочем, это не удивительно. Учитывая, что вам было бы трудно использовать что-то похожее на Windows DLL как .so или .dylib. ;-)

Я не уверен, но смешанный режим не поддерживался несколько лет назад, когда я хотел его использовать. Возможно, они добавили его, но я так не думаю. Может быть большой жирной матерью всех консервных банок с червями, которые нужно открыть для реализации CLI платформы X.

person Robert Giesecke    schedule 02.11.2009

Есть три аспекта, которые вам нужно учитывать.

  1. Язык
  2. Рамки
  3. Время выполнения

Язык
Mono полностью реализует C# 2.0 и почти полностью поддерживает 3.0. Это означает, что он поддерживает все синтаксические функции языка, такие как обобщения, свойства, анонимные методы/типы и т. д.
Mono поддерживает Visual Basic 8, но не 9.

Структура:
Mono полностью реализует ASP.NET и ADO.NET. Windows.Forms в основном готов.
WCF и WF находятся в разработке.
WPF еще не закончен, и до его завершения еще много лет (если вообще). Я полагаю, что теперь это побочный проект.
Linq-to-SQL еще не завершен.

Время выполнения
CLR почти полностью реализована, включая поддержку DLR.

Двумя лучшими источниками информации, вероятно, являются домашняя страница Mono (в частности, часто задаваемые вопросы и Отчет о статусе) и страницу Википедии. на моно.

person Simon P Stevens    schedule 02.11.2009
comment
Среда выполнения реализована не полностью, хвостовые вызовы не работают. - person leppie; 02.11.2009
comment
@Леппи. Я бы назвал это ошибкой, а не нереализованностью, но специально для вас я изменил ее на почти полностью реализованную =;) - person Simon P Stevens; 02.11.2009

Посетите сайт проекта Mono или Статья Википедии.

Но последнее, что я слышал, это то, что C# 3.0 завершен (за исключением некоторых функций LINQ).

person Bobby    schedule 02.11.2009