Introduction: How to Set Up .NET Framework on Raspberry Pi
NET Framework on Raspberry Pi - what's that and, what's more WHY? Running MS NET Framework on Raspberry Pi sounds a little bit weird and tricky at the first glance. But it turns out pretty smart and reasonable at the second, more close look.
First of all, in case you are a newbie, let's clarify the two major questions: What is Raspberry Pi and what is Microsoft .NET Framework.
Raspberry Pi is a low energy consuming device, that looks like an ordinary PC motherboard but much (I mean MUCH) smaller. It uses different types of processors the other our PCs and laptops do. The one that is in our everyday computer devices is called "x86" while RPi devices have "ARM" ones. Almost all RPi owners use open-source software. For example Debian of Raspbian operational system, Chromium web browser etc. A lot of applications are kept in a place on the web called Repository and is supported by the Raspberry Pi foundation.
Mainly all advanced operations within the system of Raspbian are carried out with an app called command line, which I am also intended to use in my tutorial.
If you'd like to learn more about how to deal with Raspberry Pi, consider choosing from this latest list of books and guides.
In case you haven't purchased an RPi device for your project yet the best and fastest way now is to make an order on Amazon. As for the project, any type or RPi device will do well, so you can choose any model, depending on your budget:
- Raspberry Pi Zero W (with starter kit)
- Raspberry Pi 2 Model B
- Raspberry Pi 3 Model B
- Raspberry Pi 3 A Plus
- Raspberry Pi 4
MICROSOFT .NET FRAMEWORK
MS .NET Framework ("dot net") is a software by Microsoft runs only on Windows OS. It provides a big and worked out library of classes ( that's why it's also called a "Framework Class Library" or FCL in short). In a nutshel it enables a software developer to use code written in other coding languages. It is an app virtual machine, providing services such as security, memory management, and exception handling.
WHY USE IT ON ARM DEVICES
It's a right question although the answer is very simple. If you are a developer, and use an ARM-device for some kind of a Raspberry Pi project ( either IoT, or AI, or even Robotics) you will definitely need to fulfill some "coding issues" on that hardware. This feature set up on Raspberry Pi gives a developer much more freedom and flexibility in doing their job avoiding switching between different programming languages. And if you are not working on any special project on Raspberry Pi you may simply use it as a working machine for coding on this cross-language framework which is very convenient and energy savvy. In fact the most advanced raspberry Pi model consumes 40 times less energy than a typical PC (forty times - this is not a mistake)
Step 1: Install Emulator
So, as you have already understood all the pros and cons of using .NET Framework on Raspberry Pi., let's get to its installation. As usually, you will need an emulator for that. And again, in my personal tutorial I'll be using ExaGear Desktop, which, in my opinion is quite a good choice. If you don't like it or are already using another emulator, or would like to look for some alternative, you are free to do that. Note, that with another type of an emulator the installation process stays almost the same.
1. Well, step on: Download your emulator for raspberry Pi. It should get into Downloads folder in you RPi file system. So get inside this folder and unpack the emulator:
tar -xvzpf exagear-desktop-rpi3.tar.gz
2. After that use thos command to install the emulation software:
Step 2: Launch X86 As a Guest System
3. Start the guest x86 system with the command:
4. Check x86 system work:
5. See this?
Everything's fine go on to the next step! ;)
Step 3: Download and Set Up Wine
As I have already told in my previous instructables, Raspbian have it's own exclusive ARM working environment. So it's impossible to run anything on it created for x86 environment. Moreover, x86 environment itself requires an additional help to run the apps, made for Windows. So, for you to understand the whole chain, see the scheme, I have specially made to illustrate the process
6. You should install Wine inside guest x86 system usine command line:
sudo apt-get install wine
If you use ExaGear just like me, you need to make sure it has a special version:
You should see this on your screen: "wine-1.8.1-eltechs" (the digits may vary)
Step 4: Install .NET Framework. Part 1: Winetricks
Before installing .Net Framework you'll have to download and install a few additional packages called "Winetricks":
sudo apt-get install cabextract
chmod +x winetricks
In case you use Ubuntu, do the following:
We need this to consiquentely installinf .NET Framevwork versions 2.0, 3.0 and 4.0 one after another. It does work only this way. As soon as you finish with that, move to the next step
Step 5: Install .NET Framework. Part 2: Version 4.5
Now, you need to download and install .NET Framework 4.5 under Wine:
Then you should see the installer manager window. Just follow the prompts and finish up the installation. That's it!
If you would like to use ExaGear as an emulator, you can get it from here (this is an affiliate link for supporting my instructables.com activity)