Я имею в виду библиотеку и синтаксис C#.
Какие элементы .NET отсутствуют в Mono?
Ответы (7)
Информацию о библиотеке классов можно получить на странице состояния библиотеки классов Mono.
C# 3.0 поддерживается полностью.
Версия C# 4.0 работает, но считается "предварительной версией" до тех пор, пока компилятор MS не будет завершен. Есть даже несколько языковых расширений, хотя я сомневаюсь, что они будут когда-либо перенесены в компилятор MS.
Вы можете просмотреть обновления статуса Mono (на самом деле, как временную шкалу) из их вики.
Существует довольно глубокий анализ здесь с января этого года.
Также полезна статья Википедии "Текущий статус и дорожная карта". .
В этом отношении нет эквивалента исправления VT или чего-либо, связанного с неуправляемым экспортом.
Впрочем, это не удивительно. Учитывая, что вам было бы трудно использовать что-то похожее на Windows DLL как .so или .dylib. ;-)
Я не уверен, но смешанный режим не поддерживался несколько лет назад, когда я хотел его использовать. Возможно, они добавили его, но я так не думаю. Может быть большой жирной матерью всех консервных банок с червями, которые нужно открыть для реализации CLI платформы X.
Есть три аспекта, которые вам нужно учитывать.
- Язык
- Рамки
- Время выполнения
Язык
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 (в частности, часто задаваемые вопросы и Отчет о статусе) и страницу Википедии. на моно.
Посетите сайт проекта Mono или Статья Википедии.
Но последнее, что я слышал, это то, что C# 3.0 завершен (за исключением некоторых функций LINQ).