.NET Core

.NET Core 3.0 for Red Hat Enterprise Linux 7 now available

.NET Core 3.0 for Red Hat Enterprise Linux 7 now available

We are very excited to announce the general availability of .NET Core 3.0 for Red Hat Enterprise Linux 7! .NET Core is the open source, cross-platform .NET platform for building microservices. .NET Core is designed to provide the best performance at scale for applications that use microservices and containers.

.NET Core 3.0 is available today on Red Hat Enterprise Linux 7 via “yum” in the /dotnet repo, and in container images from the Red Hat Container Catalog. Availability for Red Hat Enterprise Linux 8 will come with the release of RHEL 8.1 in Application Streams.

Continue reading “.NET Core 3.0 for Red Hat Enterprise Linux 7 now available”

Share
CI/CD for .NET Core container applications on Red Hat OpenShift

CI/CD for .NET Core container applications on Red Hat OpenShift

Many people have done continuous integration and continuous delivery (CI/CD) for .NET Core, but they still may wonder how to implement this process in Red Hat OpenShift Container Platform (OCP). The information is out there, but it has not been structurally documented. In this article, we’ll walk through the process.

Continue reading “CI/CD for .NET Core container applications on Red Hat OpenShift”

Share
Eclipse Che 7 and the .NET developer

Eclipse Che 7 and the .NET developer

Eclipse Che 7, an open source in-the-browser development environment, allows you to define custom workspaces for your software development. Think of a workspace as you would think of a development PC: You have an operating system, programming language support, and all the tools necessary to write code. In this article, I’ll introduce the .NET developer to this new world and highlight ways you can use Eclipse Che to your advantage.

Continue reading “Eclipse Che 7 and the .NET developer”

Share
Interacting with native libraries in .NET Core 3.0

Interacting with native libraries in .NET Core 3.0

NativeLibrary is a new class in .NET Core 3.0 for interacting with native libraries. In this article, we’ll take a closer look.

DllImport

.NET makes it simple to call functions from a native library using DllImport:

[DllImport("mylibrary")]
public static extern int foo();

This code makes available the function foo from the native library mylibrary. This function accepts no arguments and returns an int. .NET takes care of marshaling the argument types. It is possible to use managed types (like strings), which will be automagically marshaled.

Continue reading “Interacting with native libraries in .NET Core 3.0”

Share
Improving ASP.NET Core build speed on Red Hat OpenShift

Improving ASP.NET Core build speed on Red Hat OpenShift

In previous articles, I’ve covered two strategies for improving .NET Core build speed on Red Hat OpenShift by reducing time to restore dependencies: adding a local NuGet server and using incremental builds. In this article, I’ll look at another strategy: using a custom base image that has includes the dependencies.

Continue reading “Improving ASP.NET Core build speed on Red Hat OpenShift”

Share
Reduce application image build times with .NET Core incremental builds

Reduce application image build times with .NET Core incremental builds

In a previous article, we talked about using containers to build .NET Core application images to make our builds portable and reproducible. Because each build starts from scratch, some time is spent downloading and extracting NuGet packages.

One way to reduce build times is to add a local NuGet server; this brings packages closer to the build machines, which reduces the time to download the packages. In this article, we’ll look at how the new incremental build feature of the .NET Core S2I builder can further reduce build times.

Continue reading “Reduce application image build times with .NET Core incremental builds”

Share
Using .NET PInvoke for Linux system functions

Using .NET PInvoke for Linux system functions

If you’ve developed Windows applications with .NET, you may have found yourself in a situation where the framework did not provide the APIs you needed. When that happens, you first need to identify the system APIs and then make them available using PInvoke. A website like pinvoke.net provides copy-and-pasteable code snippets for many Win32 API functions.

.NET Platform Invoke (PInvoke) makes it easy to consume native libraries. In this article, we’ll take a look at using PInvoke for Linux system functions.

Continue reading “Using .NET PInvoke for Linux system functions”

Share