Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

As you know, Microsoft has released .NET 4, which compiles to different bytecode than .NET 2 (and 3, 3.5).

I know that Mono uses the same bytecode format as .NET 2, meaning that, under certain conditions, executables can targeted at .NET 2/3/3.5 can be run on Mono.

However, there are progressively more and more .NET 4 programs that are developed and released - and I have not been able to determine whether there are any plans to support .NET 4 bytecode in Mono.

share|improve this question
up vote 3 down vote accepted

There is no such thing as a new bytecode for .NET 4. I have no idea where you heard that, but it does not exist.

The only thing that exists are new libraries versioned at 4.0, and for that, you do need a new Mono (2.8 or 2.10) that come with the equivalent versioned libraries.

share|improve this answer
When I tried using the .NET 2 version of a tool for ComInterop, it failed on a .NET 4 library telling me that it was not a valid assembly. It was my faulty assumption that the only change that would trigger such a message would be a bytecode format change. – jhominal Feb 3 '11 at 9:14

According to the Mono project's compatibility page, Mono 2.8 can already run .NET 4 programs, albeit without some of the more advanced functionality.

share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .