Release Notes for RPMs
Chapter 1. Availability
Red Hat provides a distribution of .NET Core that enables developers to create applications in the C#, Visual Basic, and F# languages and then deploy them on Red Hat Enterprise Linux (RHEL), Red Hat OpenShift Container Platform, or other platforms. A no-cost Red Hat Enterprise Linux Developer Subscription is available, including a full suite of tools for Linux container development.
The availability of .NET Core 2.1 allows Windows developers to deploy to RHEL without having to learn RHEL and to expand the reach of workloads to RHEL environments. The goal is to provide a safe introduction to a new environment and culture without risk of exposure. Now users of RHEL and RHEL-based Red Hat products can develop and run .NET Core applications directly on RHEL 7, including Red Hat Enterprise Linux Atomic Host and Red Hat OpenShift Container Platform.
.NET Core 2.1 is available as the RPM
rh-dotnet21 for Red Hat Enterprise Linux 7 in the following repositories:
RHEL 7 Server:
RHEL 7 Workstation:
RHEL 7 HPC:
Full instructions for installing .NET Core 2.1 on RHEL 7 are available in the .NET Core 2.1 Getting Started Guide.
Chapter 2. .NET Core Overview
.NET Core is a general purpose, modular, cross-platform, and open source implementation of .NET that features automatic memory management and modern programming languages. It allows users to build high-quality applications efficiently. .NET Core is available for Red Hat Enterprise Linux (RHEL) 7.
This release improves build, runtime, and networking performance. It includes a new way of deploying tools as NuGet Packages. There are many new APIs, focused on reducing allocations, cryptography, and compression. This release also reduces platform differences between Windows and Linux.
.NET Core offers:
- the ability to follow a microservices-based approach, where some components are built with .NET and others with Java, but all can run on a common, supported platform in RHEL.
- the capacity to more easily develop new .NET Core workloads on Microsoft Windows. Customers can deploy and run on either RHEL or Windows Server.
- a heterogeneous data center, where the underlying infrastructure is capable of running .NET applications without having to rely solely on Windows Server.
The major .NET Core components that can be used together or separately include:
Chapter 3. Features and Benefits
3.1. Current Features and Benefits
.NET Core 2.1 offers the following features and benefits.
Runtime and framework libraries
.NET Core consists of the CoreCLR runtime and the CoreFX framework libraries as well as compilers, build tools, tools to fetch NuGet packages, and a command-line interface to tie everything together. Benefits include:
- Automatic memory management
- Type safety
- Delegates and lambdas
- Generic types
- Language Integrated Query (LINQ)
- Async programming
- Native interoperability
.NET Core 2.1 supports developing applications using ASP.NET Core 2.1 and EF Core 2.1, which bring benefits such as:
- New lightweight and modular HTTP request pipeline
- Ability to host on a web server or self-host in your own process
- Built on .NET Core, which supports true side-by-side app versioning
- Available entirely as NuGet packages
- Integrated support for creating and using NuGet packages
- Single aligned web stack for web UI and web APIs
- Cloud-ready environment-based configuration
- Built-in support for dependency injection
- New tooling that simplifies modern web development
3.2. New Features and Benefits
.NET Core 2.1 continues to broaden its support and tools for application development in an open source environment. The latest version of .NET Core includes the following improvements:
- Improved build performance
- Improved runtime performance
- Improved networking performance
- Span<T> based APIs for reducing allocations
- Extended Cryptography APIs
- Support for Brotli compression
- A new deployment mechanism for tools
Chapter 4. Operating System and Architecture Supported for .NET Core on Red Hat Enterprise Linux
.NET Core 2.1 is available for Red Hat Enterprise Linux 7 x86_64 Server, Workstation, and HPC Compute Node. .NET Core 2.1 is also available for Red Hat Enterprise Atomic Host and OpenShift Container Platform.
The .NET Core platform comprises runtime, library, and compiler components. As a developer, you have the flexibility to use the components in numerous configurations for device and cloud workloads.
Chapter 5. Customer Privacy
Various Microsoft products have a feature that reports usage statistics, analytics, and various other metrics to Microsoft over the network. Microsoft calls this Telemetry. Red Hat is disabling telemetry because we do not recommend sending customer data to anyone without explicit permission.
As part of the
scl enable command, we automatically set an environment variable that tells the CLI to disable its telemetry reporting. Any customer that uses
scl enable to run .NET Core will not report telemetry information to Microsoft. This helps keep customer information confidential. Customers are free to override the environment variable after using
scl enable to report telemetry, if they wish.
Customers can enable telemetry by unsetting the environment variable
DOTNET_CLI_TELEMETRY_OPTOUT. See .NET Core Tools Telemetry collection for more information.
Chapter 6. Support
6.1. Support Overview
Red Hat and Microsoft are committed to providing excellent support for .NET Core and are working together to resolve any problems that come up from either side. At a high level, Red Hat supports the installation, configuration, and running of the .NET Core component in Red Hat Enterprise Linux (RHEL). If it is a runtime issue, we are responsible for getting the customer an answer. Red Hat can also provide "commercially reasonable" support for issues we can help with, for instance, NuGet access problems, permissions issues, firewalls, and application questions that we might know the answer to. If it is a defect or vulnerability in .NET Core, we let Microsoft know about it.
.NET Core 2.1 is supported on RHEL 7 and Red Hat OpenShift Container Platform versions 3.3 and later.
See .NET Core Life Cycle for information about the .NET Core support policy
6.2. Contact Options
There are a couple of ways you can get support, depending on how you are using .NET Core.
Integrated Support is a collaborative support agreement between Red Hat and Microsoft. Customers using Red Hat products in Microsoft Azure are mutual customers, so both companies are united to provide the best troubleshooting and support experience possible.
6.3. Frequently Asked Questions
Here are four of the most common support questions for Integrated Support.
When do I access Integrated Support?
You can engage Red Hat Support directly. If the Red Hat Support Engineer assigned to your case needs assistance from Microsoft, the Red Hat Support Engineer will collaborate with Microsoft directly without any action required from you. Likewise on the Microsoft side, they have a process for directly collaborating with Red Hat Support Engineers.
What happens after I file a support case?
Once the Red Hat support case has been created, a Red Hat Support Engineer will be assigned to the case and begin collaborating on the issue with you and your Microsoft Support Engineer. You should expect a response to the issue based on Red Hat’s Production Support Service Level Agreement.
What if I need further assistance?
Contact Red Hat Support for assistance in creating your case or with any questions related to this process. You can view any of your open cases here.
How do I engage Microsoft for support for an Azure platform issue?
If you have support from Microsoft, you can open a case using whatever process you typically would follow. If you do not have support with Microsoft, you can always get support from Microsoft Support.
6.4. More Support Resources
- Getting started documents
- Knowledgebase articles and solutions
- Blog posts
.NET Core documentation is hosted on a Microsoft website. Here are some additional topics to explore.
You can also see more support policy information at Red Hat and Microsoft Azure Certified Cloud & Service Provider Support Policies.
Chapter 7. Known Issues
The known issues for running .NET Core on Red Hat Enterprise Linux (RHEL) include the following issues.
- .NET Core only runs on RHEL 7.x; it does not run on earlier versions of RHEL.
.NET Core SDK 2.1.3xx contains an incorrect
NETStandard.Libraryversion. Using this SDK version may result in build failures. To correct this issue, update to SDK 2.1.402 (or later). To update to the latest SDK version, install the latest .NET Core software. To install the latest software, see Section 1.2., Install .NET Core.
If there is a
global.jsonfile that specifies the SDK version and you do not want to update to the latest SDK version, you can work around this issue by removing the following entry in the
- The ASP.NET Core Shared Framework is not available on RHEL. Deployed ASP.NET Core applications must include the ASP.NET Core packages. See Publish ASP.NET Core Applications in the .NET Core Getting Started Guide.
Global tools that are preinstalled with Microsoft SDK are not available by default on RHEL. The
watchcommands are available by default with the Microsoft SDK. On RHEL, these tools can be installed from nuget.org using the
dotnet tool install --global <tool> --version '2.1.*'command. When a tool is not installed, the CLI prints the command to install it, for example,
dotnet tool install --global dotnet-ef. Note that the version flag
--version '2.1.*'should be used to work around the following known issue.
The Microsoft SDK always installs the latest version of a tool. When the latest tool version is not compatible with the installed runtimes, the installation will fail. To install the tool, you must specify an older version that is compatible with .NET Core 2.1 using the
--versionoption. The versions can be found at nuget.org. The 2.2.x tool versions preinstalled with the Microsoft SDK are not compatible with .NET Core 2.1. To install them for .NET Core 2.1, add
--version '2.1.*'as shown in the example in the previous paragraph. This issue is being tracked on GitHub.
Starting with the release of .NET Core 2.2, these global tools may fail to install via
dotnet tool install --global dotnet-ef. The error will say that the tool only supports
netcoreapp2.2. Use an explicit
--versionflag to work around this. For example, use
dotnet tool install --global dotnet-ef --version 2.1.1to install a version of
dotnet efthat works with .NET Core 2.1. The versions can be found via nuget.org.
dotnet dev-certs https --trustdoes not work on RHEL.
.NET Core supports the creation of HTTPS certificate through
dotnet dev-certs https, but it does not support trusting them through
dotnet dev-certs https --trust. The client that connects to the ASP.NET Core application, such as curl or firefox, will warn about the untrusted self-signed certificate. To work around this in a browser such as Firefox, ignore the warning and trust the certificate explicitly when the warning about the untrusted certificate comes up. Command-line tools support flags to ignore untrusted certificate. For curl, use
--insecure. For wget, use
There are different values for math libraries on different platforms.
Math libraries that are part of .NET Core 2.1 can return different values on different platforms. This is expected behavior. .NET Core 2.1 takes advantage of the platform-specific libraries to improve performance and reduce overhead. See the Math.Cos(double.MaxValue) returns different values on Windows and other platforms issue discussion for more information.
The following issues affected the previous release of .NET Core on RHEL and were fixed by updates.
- For some commands, the 2.1.300 SDK prints out it is a preview version. This erroneous message can be safely ignored. This was fixed in the .NET Core SDK 2.1.301 update release.
- The language server used by Visual Studio Code, OmniSharp, does not work with .NET Core 2.1. This was fixed in the .NET Core SDK 2.1.301 update release.
See Known issues for .NET Core, ASP.NET Core, and ASP.NET and Web Tools in Visual Studio 2017 for more information about using Visual Studio with .NET Core 2.1.
Appendix A. Revision History
Updated life cycle page link to point to the new life cycle page
Revised to include SDK 2.0 and 2.1
Revised SDK 2.1.1 to 2.1.301
Added known issue for SDK 2.1.3xx
Revised link in Issue 3 in Chapter 7
Updated/added to Issue 4 in Chapter 7