Does Mono .NET support and compile C++ / CLI?
If not, do you know if they have any plans of supporting it?
Does Mono .NET support and compile C++ / CLI?
If not, do you know if they have any plans of supporting it?
Mono is able to run 'pure' assemblies generated by C++/CLI, ie. ones that don't contain any native code. The various /clr options supported by the C++ compiler are documented on MSDN.
There is currently no support for compiling C++/CLI. There has been some work on modifying GCC to emit IL, but it isn't complete (and doesn't appear active). See this article.
I don't believe Microsoft document the format for including native code in an assembly, so supporting this is difficult.
We don't have a compiler for C++/CLI, it would be a very large undertaking for a very small userbase. Consider also that the C++/CLI spec is inherently flawed and non-portable, so being able to compile it wouldn't help much in the general case.
You can compile using the MS .NET compiler and run in mono with these restrictions: 1) run with mono on any system if the C++/CLI app is pure managed (but then, why use such an ugly language and not C#?)
2) run with mono on windows in the other cases (C++/CLI apps are in general non-portable and include native code, so they can run only on windows and are uninteresting for the major objective of mono which is to run managed programs on Linux)
Note that MS itself will eventually drop C++/CLI, so don't invest too much on it and switch to C#.
No, C++/CLI is not supported under Mono and likely never will be although generating pure IL using MS compilers would allow totally managed code to run under Mono.
As an interop language, C++/CLI exists to make it possible to call unmanaged code. The other alternative is using P/Invoke which is well-documented albeit with problems.