In this article, we’ll look at .NET’s
Process class. We’ll go over the basics of how and when to use it, then cover differences in usage between Windows and Linux, and point out a few caveats. This article covers behavior in .NET Core 3.0.
Continue reading “The .NET Process class on Linux”
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”
.NET Core 3.0 brings many exciting new features, including a new major release of C#, improved performance and support for building Windows desktop applications (on Windows). In this article, we’ll look at interesting new features for Linux and Linux container users.
Continue reading “New features in .NET Core 3.0 on Linux”
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”
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”
NativeLibrary is a new class in .NET Core 3.0 for interacting with native libraries. In this article, we’ll take a closer look.
.NET makes it simple to call functions from a native library using
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”
In this article, we’ll take a look at
Tmds.ExecFunction, which is a library that allows developers to easily execute a .NET Core function in a separate process.
Continue reading Executing .NET Core functions in a separate process
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”
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”
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”