Могу ли я запускать программы .NET 4 на Mono?

Mono, похоже, поддерживает только .NET 3.5, но означает ли это, что я не могу запускать программы с .NET 4 на нем?

Ответ 1

Mono будет поддерживать .NET 4.0 в Mono 2.8, дата выпуска которого пока неизвестна, поскольку объясняет это Roadmap.

Ответ 2

Если вам нужны расширенные функции .Net 4.0, я не думаю, что вы можете сделать это в настоящее время, в дорожной карте выпуска все еще есть ASP.Net 4.0 в 2.8 и полная поддержка .Net 4.0 в Mono 3.0, оба по-прежнему являются TBD.

При этом Mono не поддерживает всех сразу, они, как правило, наращивают поддержку каждой функции, пытаясь сначала использовать наиболее часто используемые API, так что это может произойти в нескольких версиях (факт, что 2.8 частичная поддержка и 3.0 - это пример). Это зависит от того, какие фрагменты API вам нужны, будет ли он работать в Mono, и когда он будет иметь достаточную поддержку.

Ответ 5

Начиная с версии 3.2.3, Mono поддерживает большинство функций .NET 4.0 и даже некоторых из 4.5 функций (например, async):

  • С# 4.0
  • ASP.Net 4.0
  • ASP.Net MVC 1, MVC 2 и MVC3
  • System.Numerics
  • Управляемая Extensibily Framework - совместно с .NET через лицензию MS-PL
  • Время выполнения динамического языка - совместно с .NET через лицензию MS-PL
  • OData на стороне клиента - совместно с .NET через лицензию MS-PL
  • EntityFramework - доступно с Mono 2.11.3.
  • Параллельная структура и PLINQ

Смотрите сами: Совместимость с монопроектами

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

Реальные проблемы возникают, если ваша программа поставляется с несовместимыми библиотеками (например, оболочкой для системных вызовов или родными dll, [DllImport], extern wrt P/INVOKE), поэтому вы должны оценить это в любом случае.

Ответ 6

Поддержка .NET 4.0 полнофункциональна и будет включена в следующий выпуск, дата которого еще не известна. Вы можете использовать SVN-версию Mono, если вам это нужно прямо сейчас.

Ответ 7

Вы имеете в виду использование классов .net 4.0? Нет

Ответ не да для 3.5, так как они еще не реализовали все из них.

Однако С# 4.0 язык полностью поддерживается.