Can I run .NET 4 programs on Mono?
Mono seems to support .NET 3.5 only, but does that mean I cannot run 开发者_如何学Pythonprograms made with .NET 4 on it?
Mono will support .NET 4.0 in Mono 2.8 whose release date is not known yet as the Roadmap explains it.
If you require advanced .Net 4.0 features I don't believe you can do this currently, the release roadmap still has ASP.Net 4.0 support in 2.8 and full .Net 4.0 support in Mono 3.0, both are still TBD.
That being said, Mono doesn't do support all at once, they typically build up to support every feature, trying to get the most commonly used APIs in first, so it may happen over several releases (the fact that 2.8 is partial support and 3.0 is full is an example of this). It depends on which chunks of the API you need as to whether it'll run on Mono, and when it'll have enough support.
Mono 2.8 will support .NET 4, see here for the Mono roadmap http://www.mono-project.com/Roadmap
Mono 2.8 was released on released on October 6th, 2010. This version supports .NET 4.0
Mono 2.8 Release Notes
As of 3.2.3, Mono supports most features of .NET 4.0 and even some of the 4.5 features (e.g. async):
- C# 4.0
- ASP.Net 4.0
- ASP.Net MVC 1, MVC 2 and MVC3
- System.Numerics
- Managed Extensibily Framework - Shared with .NET via MS-PL license
- Dynamic Language Runtime - Shared with .NET via MS-PL license
- Client side OData - Shared with .NET via MS-PL license
- EntityFramework - Available since Mono 2.11.3.
- Parallel Framework and PLINQ
See for yourself: Mono-Project Compatibility
Unpurified applications may have some bugs due to hardcoded paths or assumptions considering the platform. Those are mostly easy to fix if you have the source code, or can recreate the sources via a decompiler. Unless they're obfuscated that is.
Real Problems arise if your program ships with incompatible libraries (e.g. wrapper for system calls or native dlls, [DllImport]
, extern
w.r.t. P/INVOKE) so you have to evaluate that anyway.
.NET 4.0 support is feature-complete and will be included in the next release, whose date is not yet known. You can use the SVN version of Mono if you need it right now.
You mean using the .net 4.0 classes ? No
The answer is not yes for 3.5 either since they did not implement all of them yet.
However c# 4.0 the language is fully supported.
精彩评论