It was November 2014 when Microsoft announced the open sourcing of .NET with a project named .NET Core. It was announced as a smaller set of the .NET Framework, with many of the same APIs, and including “runtime, framework, compiler and tools components that support a variety of operating systems and chip targets” as stated in MSDN. This was an important announcement because .NET is a widely-used general development platform.
One year later, Red Hat and Microsoft announced a collaboration which resulted in access to .NET on Red Hat Enterprise Linux and Red Hat OpenShift.
In June 2016, Red Hat announced that .NET would be available via the integrated hybrid support partnership between both companies, making “Red Hat the only commercial Linux distribution to feature full, enterprise-grade support for .NET, opening up platform choice for enterprises seeking to use .NET on a flexible Linux and container-based environments.”
Enable .NET Core repositories
If you use RHEL 7 for development, you should have a subscription as a developer (at no-cost through the Red Hat Developer Toolset).
So, check it with:
# subscription-manager repos –list | egrep dotnet
If there are repositories listed, it means that .NET can be installed. So, enable the repo:
# subscription-manager repos --enable=rhel-7-server-dotnet-rpms
Install .NET Core
Once the repository is enabled, it’s possible to install .NET with yum. Just:
# yum install rh-dotnetcore11
Working with .NET Core
The .NET Core packages are designed to allow multiple versions of software to be installed concurrently. To allow this, every package is added to the runtime environment with the command
scl enable. When running, it environment variables and then runs the specified command. Its changes only affect the command that is run by
scl and processes that are run from that command. This helps in maintaining a “clean” environment.
So, in a new terminal window, as user, execute the command:
$ scl enable rh-dotnetcore11 bash
This will start a new Bash instance, which has access to .NET Core 1.1 (the one installed previously).
for checking if everything works.
Now, just executing the
exit command will shut down .NET and return to a “normal” Bash.
Install Visual Studio Code
GNU/Linux systems have a lot of text editors and IDEs, so anyone can use the tool he likes the most for writing code.
But, in the case of .NET Core and C#, a good option could be Visual Studio Code, the open source editor written by Microsoft.
To install the 64-bit code editor on Red Hat Enterprise Linux 7, execute the following steps:
First, set up the yum repository as follows:
# rpm --import https://packages.microsoft.com/keys/microsoft.asc # sh -c 'echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/vscode.repo'
Next, update the package cache and install Visual Studio with:
# yum check-update # yum install code
Using Visual Studio Code with .NET Core
scl start the editor with .NET Core. The syntax is the same as the “Bash example”:
$ scl enable rh-dotnetcore11 code
Click on File->Open Folder and open the folder in which the Hello World program will be saved; Visual Studio Code will ask to install a C# extension. Do it.
Next, open the integrated terminal from Visual Studio Code by typing CTRL+\, as suggested in the Welcome page of the editor.
$ dotnet new
This will create two files:
package.json. Open the first one by clicking on it in the left sidebar, and it should contain a simple Hello World program. Probably the editor would suggest to solve some dependency; just click on Yes and wait.
For running the program, open the integrated terminal and execute:
$ dotnet run
And that’s all that is needed to start working with .NET Core and Visual Studio Code on Red Hat Enterprise Linux 7!