Has anyone ever tried to develop C# applications for Embedded Linux? How to setup a development environment?


I would like to develop C# applications for some embedded Linux distributions. I am using the Angstrom distribution right now but I will probably change it to another distro (created using yocto) in the future.
So, I would like to know if someone have experienced that before and what are the difficulties doing so.

More important than that, I wish to get some help on how to setup a development environment to do it.
I am trying to use the MonoDevelop on Ubuntu 16.04, but I could not get it done so far.



We at Toradex do not use mono on our modules but we know of customers who successfully use mono built with the meta-mono layer.

The Yocto wiki has a page with pointers on how to use mono with Yocto.
Note that for an Angstrom image some of the mono packages can be installed from Angstrom binary feeds so
you could get away with installing the mono runtime on the target:

opkg update
opkg install mono

and then copying the mono application which you already tested on your x86 PC to the target and execute it there.

root@colibri-t30:~# mono helloworld.exe                                         


Is there another option to run C# applications on embedded Linux besides mono?

Microsofts open source .NET core is not (yet?*) available for Linux on ARM, so at the moment Mono is the only solution. Note also that Mono provides a much more complete API then .NET core would.

(*) it seems that there is some progress on that.