.NET Core Comes Quietly to Raspberry Pi

Posted on March 10, 2017 by Paul Thurrott in Dev, Hardware with 15 Comments

.NET Core Comes Quietly to Raspberry Pi

As you may have heard, Microsoft is slowly replacing its monolithic and proprietary .NET technologies with the open, modular, and cross-platform .NET Core. As part of this effort, the broader .NET community is porting .NET Core to various Internet of Things (IoT) platforms, including Raspberry Pi 2 and 3.

The software giant has been pretty quiet about this work, choosing instead to focus its own efforts at bringing .NET Core to higher profile platforms such as Windows, macOS and Linux. But as IDG noticed this week, the broader .NET community is also making progress bringing this platform to IoT generally, and to Raspberry Pi specifically. And there is already an early release on GitHub for interested parties.

“We can confirm there is an ARM32 version of .NET Core out on GitHub,” a Microsoft spokesperson told IDG. “It is an implementation of .NET Core that Samsung, Microsoft, and the community are working on. We are making it available to customers … so they can use it on Raspberry Pis, IoT, etc.”

Microsoft confirming that something exists on GitHub is semi-pointless—anyone can go see it—but the underlying message there is that it’s not just Microsoft working on .NET Core. Now that these technologies are truly open, they can—and will—spread anywhere. And Samsung mention, by the way, means that .NET Core is also coming to Tizen, apparently in late 2017.

“Samsung will be shipping their Tizen platform on both .NET Core x86 and .NET Core ARM32,” the spokesperson told IDG. “They will build their own supported releases of this just like Red Hat builds their own supported releases of .NET Core.”

OK, but what about Raspberry Pi?

“ARM32 support for .NET Core is still being brought up,” the GitHub page explains, “but there are now daily runtime builds that are ready to use. There is no SDK that runs on ARM32 yet but you can publish an application that will from on a Raspberry Pi.”

I haven’t tried this outside of Windows yet beyond some light console app work in the Bash for Windows 10 Linux environment, but you can now install .NET Core on Linux or macOS and then create and run .NET Core apps in those environments. With this community release, you can also do so on Raspberry Pi.

Looking at the GitHub instructions, this process appears to work identically on Raspberry Pi, but you need to be running Ubuntu Linux (14.04 or 16.04) or Windows 10 IoT Core on that hardware. Which I guess makes sense. But this also casts the cross-platform nature of .NET Core in a new light: Not only does it run on different software platforms, but it can run on different hardware platforms too. Neat!


Tagged with , , ,

Join the discussion!


Don't have a login but want to join the conversation? Become a Thurrott Premium or Basic User to participate

Comments (15)

15 responses to “.NET Core Comes Quietly to Raspberry Pi”

  1. WP7Mango

    This is great news!

    .NET Core could prove to be even more successful than classic .NET because it's open source, as demonstrated by Samsung, where they developed it for use with Tizen. When .NET developers can reuse their skills to target stuff like Tizen, IoT and other platforms, it could gain momentum very quickly. C# will then end up the goto language for all cross-platform development.

    Even Google has joined the .NET steering group recently.

    • Waethorn

      In reply to WP7Mango:

      "more successful"....hrmph. It's not like Tizen is a show-stopper.

      • WP7Mango

        In reply to Waethorn:

        Not sure how you managed to miss my point, which is that .NET Core is open source, which means that it can be developed for any platform without waiting for Microsoft to do the work. Tizen was given as an example of this process - i.e. it was Samsung that did the work in getting .NET Core running on Tizen.

  2. dcdevito

    This is pointless

  3. skane2600

    If there's supposed to be some MS business case for putting .NET core on Raspberry Pi, I fail to see it.

    • mhectorgato

      In reply to skane2600: Visual Studio and Azure IoT hub (and other related Azure services)

      • skane2600

        In reply to mhectorgato:

        That strategy would be consistent with MS's SOP of 10 years ago, but now they don't want to limit their customers to their own platform. I'm not an expert, but I'd be very surprised to learn that you couldn't use Azure IoT hub without using VS and .NET core.

        • mhectorgato

          In reply to skane2600: You certainly are able to do so. There are SDKs for other platforms and REST endpoints. You can use Win10 IoT Core as well on a Pi. But apparently they committing to .NET Core for the future & cross-platform + code-portability; so they are going all in (from large servers down to the tiny Pi) - and their preference is for you to use their tools & cloud, but you don't need to.
          • skane2600

            In reply to mhectorgato:

            As has been shown time and time again, cross-platform solutions are not very effective except in headless applications that interface only with standard hardware. But you're right that it appears to be Microsoft's approach although it seems to be based more on philosophy than on a business strategy.

  4. mjw149

    The rationale is obvious: a programming language that is lagging in education and beginner adoption is always looking to get it's foot in the door.

    And how long until the $40 raspberry pi is fast enough to be a 'normal' home PC? 5 years? MS needs all it's stack on that device specifically.

    • skane2600

      In reply to mjw149:

      What language are you referring to? winJS? (ok, not technically a prog language). Not sure why education and beginner adoption is key as opposed to professional developers, but there's certainly no shortage of C# developers. In any case a Raspberry Pi isn't a convenient platform to learn a computer language on. IMO, it's greatest educational value is in teaching about HW components at a macro level.

      For most IoT applications, you don't need a processor as fast as a "normal" PC. The key component in a RPi is an ARM processor, just like almost all cell phones and Chromebooks. There's nothing special about it compared to other ARM-based systems.

  5. victorchinn

    Microsoft wants developers locked into their APIs, tool chain and stack which are entry points for Visual Studio and Azure Services ... smart move ... by open sourcing .NET Core you not only get developers locked in but they are also innovating on it for FREE.

  6. Carlos Osuna

    Kinda wonder if Thurrott actually understands the key differences between Windows and Linux.

    I say it because, he's surprised that .NET Core is coming to Raspberry AND Tizen.

    The moment you realize that both are just Linux incarnations which offer the same basic services and the moment you realize that if the source code is available and it can be compiled with GCC, porting to ARM is straightforward UNLESS they made some low level decisions, that left it x86 bound, which I'm sure they shouldn't.

    That fact that Java has done that for the past 20 years is a testament to how wrong was Microsoft managed. When they went on to copy Java in a piece by piece approach, first creating the CL (bytecode) and then the CLR (tools.jar), they were supposed to get the same "Write Once Run Everywhere" environment like Java, but with a Multi Language twist. But they decided to do a U turn and instead of recreating a CL VM, they went with a built in GIT and then contaminated the effort with the GAC, which was basically a Registry where things would mess up at any given time.

    So .NET is basically a return to the original design principles. It's Microsoft admitting they screwed up by fixing something that wasn't broken and it left us with tons of legacy code that won't containerize and tons of applications, like BizTalk and SharePoint that depend on the traditional .NET and won't migrate past Windows without a mayor overhaul.

    In the end, just like Java by the way of Oracle, .NET will go the way of the Dodo once Go, Swift and Rust pave the way for a next generation of object oriented languages.

  7. mortarm

    >... will from on a Raspberry Pi.

    Well, at least the "r" is there.