.NET Core

.NET on Linux: Which Environment?

If you are a Windows developer and you want to start writing .NET code in Linux, and you’re not sure where to start, this article should help you understand some of the choices regarding your development environment.

I’ll be using the Red Hat Enterprise Linux Developer Suite (RHEL) as my Linux of choice, which is freely downloadable for development use. It’s also worth mentioning that how you actually install RHEL will affect your development experience. The up-front work to get a full-blown, GUI-based version of RHEL running is, I believe, worth the payoff later. However, you may choose to get up and running quickly in a command line environment and defer the GUI work until later.

Some of your choices include:

  • Run RHEL on bare metal. That is, install it directly onto a PC. You can choose this option and run with or without a graphical interface (such as Gnome).
  • Run RHEL locally using a hypervisor/virtual machine (Hyper-V, VirtualBox, VMware) on your Windows environment. This requires that your version of Windows supports virtualization (e.g. Windows 10 Professional). You can choose this and run without a GUI. Alternatively, you can install a GUI, which is what I recommend — more about that later.
  • Finally, you could use a cloud-based VM running RHEL (Typically no GUI).

Continue reading “.NET on Linux: Which Environment?”



With the advent of .NET Core 1.0, things have changed. Dramatically.

  • For starters, it’s open source. This means anyone, including you and I, can submit bug fixes and enhancements to the .NET framework.
  • It will now run on Mac and Linux.
  • You can compile code natively to the platform of your choice.

And beyond that, it’s much more modular. There’s the Common Language Runtime (CLR), the CoreFX (where the “System.” libraries live), the Command Line Interface (CLI), and other modules. ASPNET is separate from MVC which is separate from Entity Framework. Then, finally, tooling — things such as Visual Studio — are at the top. This separation means things change, and improve, more rapidly.

This also allows for huge increases in performance. It also means things have changed, and how you write code has changed. The new model isn’t a big learning curve, but moving legacy code is a “port” and not a “migration”.

Continue reading “ASPNET MVC Core 1.0”


All Together Now: .NET, RHEL, Hyper-V and VSCode

I’m a .NET developer at heart, and I want to write C# code that runs natively in Linux – Red Hat Enterprise Linux (RHEL), to be specific. So, I hopped over to the Red Hat .NET Developers web site, installed the CDK and was up and running in short order. I had a no-cost developer’s copy of RHEL running on my PC and was writing .NET code. Life was good. I had my instance of RHEL inside a Vagrant Box on my Windows 10 PC. It was easy to set up and quick to get going, but I have to admit it did feel a bit odd to be running Oracle’s VirtualBox on my PC when I had Microsoft’s Hyper-V at hand.

In addition, I wanted to edit my code using Microsoft’s free Visual Studio Code, which meant sharing a folder/directory between the RHEL instance and my Windows 10 host. (Windows folks call them “folders”; Linux folks prefer “directories”). However, after struggling and finding no good success at a “no-touch” folder sharing solution (I didn’t like the “use rsync” option – I wanted something automatic), and because I felt using RHEL in a Hyper-V Virtual Machine (VM) seemed like a cleaner solution, I created the RHEL VM and started down that path.

Continue reading “All Together Now: .NET, RHEL, Hyper-V and VSCode”


Redhatloves.net and #dotNETonLinux

Much has changed in the IT world in the last few years,  first Microsoft Loves Linux and now Red Hat Loves .NET.

I suspect for many of you it is a bit bewildering, however, there are huge wins here for software developers. C# is rapidly becoming the programming language with the greatest number of target platforms, including: iOS, Android, OSX, and now through the partnership with Red Hat (home of the worlds’ most popular enterprise Linux platform) C# is becoming a first class citizen on Linux:

Continue reading “Redhatloves.net and #dotNETonLinux”


Origins of .NET on Linux: An explanation for Java Developers

The .NET framework is a relatively young technology when compared to the rest of computer science history, but as it turns fourteen this year, we can look back and see a long-standing record of innovation, developer productivity, and more recently a refreshing open-source mentality from Microsoft that has resulted in the first ever release of (the official) .NET framework in a Linux distribution.

.NET is a development platform that includes several programming languages, notably C# and Visual Basic, and the .NET web framework. Microsoft Visual Studio itself is built on .NET, along with numerous open-source applications including the notable Gnome-Do (a quick-launch utility similar to the Windows key quick-launch) and KeePass (a password manager).

Continue reading “Origins of .NET on Linux: An explanation for Java Developers”


We’re heading to Build 2016!

We are heading to Moscone in San Francisco.  Yes, for DevNation in June, but we are there for Microsoft Build 2016 this week.  We’ve got many exciting things planned – some below and some you will need to wait and see – but as a first time sponsor of Build we are looking forward to welcoming the .NET audience to Red Hat Developers.

Continue reading We’re heading to Build 2016!