15

I am new to the Raspberry Pi platform and I have been collecting resources and trying to determine what the little computer is (not) suited for.

I understand that Python is the go-to programming environment for control & automation of R-Pi accessories, and controllers; I cannot wait to try that out. However, I am also trying to determine how to use the Pi for some web app development (testing).

I am sure that you have heard of Microsoft making its .Net Core framework available as open source, as well as its (really great) code editor, Visual Studio Code. As of now the binary files have only been released for Linux ia32/x64 architectures (among others).

Has anyone of you seen any progress on the ARM branch? Perhaps, you have seen some workarounds, or unofficial releases worth checking out?

Thanks in advance for your input.

Cheers!

14

The community is in the progress of making dotnet core working on ARM. Samsung recently joined the dotnet foundation to (mostly) do work for ARM.

.NET is a great technology that dramatically boosts developer productivity. Samsung has been contributing to .NET Core on GitHub – especially in the area of ARM support – and we are looking forward to contributing further to the .NET open source community. Samsung is glad to join the .NET Foundation's Technical Steering Group and help more developers enjoy the benefits of .NET.

-- Hong-Seok Kim, Vice President, Samsung Electronics

The community is tracking the progress with the regression tests on a github issue: https://github.com/dotnet/coreclr/issues/3977

To view all open issues search the dotnet/coreclr github for the ARM tag: https://github.com/dotnet/coreclr/labels/ARM

4

The .NET class of languages are all currently supported on the Raspberry Pi 2 if you use Windows 10 IOT as your operating system.

The IOT version of the OS is a little different from standard Windows. It's designed to be a headless device. As such, it will not have a display or a traditional desktop.

If you want to use .NET on Raspbian, you can try a software package called Mono. It's not official, but is very popular for C# developers on Linux.

  • 3
    1. Microsoft Windows 10 "IoT Core" is not headless , but you can only run one (1) app in fullscreen at a time 2. Xamarin/Mono is currently integrating Microsoft code , i don't know if and how that is visible in Raspbian – flakeshake Jan 28 '16 at 7:26
  • @flakeshake: My understanding is that it's headless out of the box, and you have to add in the ability to display an app through a module. Is that correct? – Jacobm001 Jan 28 '16 at 18:22
  • No , on first boot the screen will already display info (IP Address etc.) . UWP apps are implictly headful. – flakeshake Jan 29 '16 at 12:08
  • Thanks for the responses so far, great! Yeah, I am familiar with the Windows IOT platform; that being said, I was thinking more about keeping the Linux OS as the base and use it as a regular computer. I'll keep your suggestions in mind, for sure. – Michal M. Maslowski Jan 29 '16 at 16:02
  • Is there any progress with this? .NET Core is going to be released in a few days officialy. There should be a way to run .NET Core applications in Raspbian, for instance. – SuperJMN Jun 22 '16 at 20:26
2

Mono runs okay on raspberry pi but be aware it suffers from performance issues (The one I use is Mono JIT compiler version 3.2.8 (Debian 3.2.8+dfsg-10)).

I run handful of console applications on RBP (written in .Net 4.5). The apps essentially make couple of REST calls. Its a monitoring application and when data read are normal the application writes on the console that things are good and terminates. Nothing fancy and rest calls are made using RestSharp package. Simple top - bottom applications - no loops etc.

My application takes around 3 seconds to run on Raspberry Pi. Very slow when compared to other stuff that my RBI does.

Bottom line: yes mono works but would embrace using it only with a grain of salt.

Stumbled upon this article when searching Mono performance on Raspberry pi.

0

.Net Core is still very new and lacks a lot of features.

But Mono is really the choice if you want to go on unixes, even on ARM, actually Mono is really being sponsored by Microsoft itself, even Xamarin, the company behind Mono has ben bought by Microsoft, and Mono is on the roadmap of .net development by Microsoft.

It actually has production-ready quality, I use it in a lot of servers with linux and on my rpi 2.

And you can just program what you want on windows with Visual Studio 2015 Community Edition, compile it and send to your rpi the program, it will work (but beware, Forms has very bad support, if you target console or service programs you will have no problem, else you can create a GTK proyect which is very similar to forms but using MonoDevelop).

Only a note, it must be a Rpi 2, mono now uses hard float and Rpi1 doesn't support it (or you can compile yourself on the rpi mono and disable the hard float support).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.