Release Notes for RPMs
Abstract
Chapter 1. Availability Copy linkLink copied to clipboard!
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 3.0 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 3.0 is available as the RPM rh-dotnet30 for Red Hat Enterprise Linux 7 in the following repositories:
-
RHEL 7 Server:
rhel-7-server-dotnet-rpms -
RHEL 7 Workstation:
rhel-7-workstation-dotnet-rpms -
RHEL 7 HPC:
rhel-7-hpc-node-dotnet-rpms
.NET Core 3.0 includes the following RPM packages that can be installed via yum install:
-
rh-dotnet30: includes the .NET Core 3.0 SDK and Runtime. -
rh-dotnet30-dotnet-sdk-3.0: functionally the same as above. It is the latest .NET Core 3.0 SDK. -
rh-dotnet30-dotnet-runtime-3.0: only the .NET Core 3.0 Runtime. If you want to use just the Runtime without the SDK, you should install this. -
rh-dotnet30-aspnetcore-runtime-3.0: ASP.NET Core runtime. This includes the .NET Core runtime and the ASP.NET Core runtime. Install this package to run ASP.NET Core-based applications.
Full instructions for installing .NET Core 3.0 on RHEL 7 are available in the .NET Core 3.0 Getting Started Guide.
For Red Hat Enterprise Linux 8, .NET Core 3.0 is available as the dotnet-sdk-3.0 RPM package in the AppStream repositories.
Full instructions for installing .NET Core 3.0 on RHEL 8 are available in the .NET Core 3.0 Getting Started Guide for RHEL 8.
Chapter 2. .NET Core Overview Copy linkLink copied to clipboard!
.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 and RHEL 8.
This release of .NET Core adds support for C# 8, a new major release of the C# language, and building Windows desktop applications (on Windows). The release improves build and runtime performance. The SDK supports publishing applications into a single file (PublishSingleFile), trimming unused assemblies to reduce the size (PublishTrimmed), and ahead-of-time (AOT) compilation to improve startup time (PublishReadyToRun). New APIs are available for improved performance, including a new JSON API (System.Text.Json) and accessing hardware intrinsics (System.Runtime.Intrinsics).
.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.
Chapter 3. Features and Benefits Copy linkLink copied to clipboard!
3.1. Current Features and Benefits Copy linkLink copied to clipboard!
.NET Core 3.0 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 3.0 supports developing applications using ASP.NET Core 3.0 and EF Core 3.0, which bring benefits such as:
- 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
- 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 Copy linkLink copied to clipboard!
.NET Core 3.0 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:
- Support for C# 8.0
- Support for F# 4.7
- Support for building Windows Desktop applications
-
Supports
netstandard2.1 - Local tools
-
Using perf-oriented CPU instructions (
System.Runtime.Intrinsics) - Native executables for framework-dependent applications
- Single-file executables
- Trimming applications on publish
- Ahead-of-time (AOT) compiled applications
- IEEE floating-point improvements
- Fast built-in JSON support
-
Improved native interop using
NativeLibrary -
HTTP/2 support in
HttpClient - TPS 1.3 support on Linux systems with OpenSSL 1.1.1
-
SerialPortsupport on Linux - Improved GC behavior in containers with small memory allocation, systems with more than 64 processors
- (Experimental) Huge page support
- ARM64 support for IoT scenarios
- Cross-platform diagnostic tools
- Support for building client-side web apps using Blazor
- Create high-performance backend services with gRPC
- HTTP/2 enabled by default in Kestrel
- New worker service template for building long-running services
-
Authentication support integration with
IdentityServer
Chapter 4. Operating System and Architecture Supported for .NET Core on Red Hat Enterprise Linux Copy linkLink copied to clipboard!
.NET Core 3.0 is available for Red Hat Enterprise Linux 7 x86_64 Server, Workstation, and HPC Compute Node. .NET Core 3.0 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 Copy linkLink copied to clipboard!
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 on Red Hat Enterprise Linux 7, 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 on RHEL 7 or RHEL 8 can enable telemetry by unsetting the environment variable DOTNET_CLI_TELEMETRY_OPTOUT. See .NET Core Tools Telemetry collection for more information.
Chapter 6. Support Copy linkLink copied to clipboard!
6.1. Support Overview Copy linkLink copied to clipboard!
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 3.0 is supported on RHEL 7, RHEL 8, 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 Copy linkLink copied to clipboard!
There are a couple of ways you can get support, depending on how you are using .NET Core.
- If you are using .NET Core on-premise, you can contact either Red Hat Support or Microsoft directly.
- If you are using .NET Core in Microsoft Azure, you can contact either Red Hat Support or Azure Support to receive Integrated Support.
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 Copy linkLink copied to clipboard!
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 Copy linkLink copied to clipboard!
The Resources page at Red Hat Developers provides a wealth of information, including:
- 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 Copy linkLink copied to clipboard!
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 and RHEL 8.x; it does not run on earlier versions of RHEL.
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 throughdotnet 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--no-check-certificate.There are different values for math libraries on different platforms.
Math libraries that are part of .NET Core 3.0 can return different values on different platforms. This is expected behavior. .NET Core 3.0 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.