我可以在Mono上运行.NET 4程序吗?

时间:2010-08-14 10:53:50

标签: .net mono

Mono似乎只支持.NET 3.5,但这是否意味着我无法运行使用.NET 4制作的程序?

7 个答案:

答案 0 :(得分:8)

Mono将支持Mono 2.8中的.NET 4.0,其发布日期尚不清楚,因为Roadmap解释了它。

答案 1 :(得分:4)

如果您需要高级.Net 4.0功能,我认为您目前无法做到这一点,the release roadmap仍然拥有2.8的ASP.Net 4.0支持和Mono 3.0中的完整.Net 4.0支持,两者仍然是TBD

话虽如此,Mono并没有立即支持所有功能,它们通常会支持所有功能,首先尝试获取最常用的API,因此可能会在多个版本中发生(事实上2.8是部分支持和3.0已满是一个例子)。这取决于你需要哪些API,以及它是否会在Mono上运行,以及什么时候它有足够的支持。

答案 2 :(得分:3)

Mono 2.8将支持.NET 4,请参阅此处了解Mono路线图http://www.mono-project.com/Roadmap

答案 3 :(得分:3)

Mono 2.8于2010年10月6日发布。此版本支持.NET 4.0

Mono 2.8 Release Notes

答案 4 :(得分:3)

从3.2.3开始,Mono支持.NET 4.0的大多数功能,甚至支持一些4.5功能(例如异步):

  • C#4.0
  • ASP.Net 4.0
  • ASP.Net MVC 1,MVC 2和MVC3
  • System.Numerics
  • Managed Extensibily Framework - 通过MS-PL许可与.NET共享
  • 动态语言运行时 - 通过MS-PL许可与.NET共享
  • 客户端OData - 通过MS-PL许可与.NET共享
  • EntityFramework - 自Mono 2.11.3起可用。
  • Parallel Framework和PL​​INQ

亲眼看看:Mono-Project Compatibility

由于考虑到平台的硬编码路径或假设,未经过净化的应用程序可能会有一些错误。如果你有源代码,那么这些很容易修复,或者可以通过decompiler 重新创建来源。除非他们被混淆了。

如果您的程序附带了不兼容的库(例如系统调用的包装器或本机dll,[DllImport], extern w.r.t。P/INVOKE),则会出现真正的问题,因此您必须对此进行评估

答案 5 :(得分:1)

.NET 4.0支持is feature-complete,将包含在下一个版本中,其日期尚不清楚。如果您现在需要,可以使用SVN版本的Mono。

答案 6 :(得分:0)

你的意思是使用.net 4.0类?否

对于3.5,答案不是肯定的,因为他们还没有实现所有这些。

然而,c#4.0完全支持该语言。