此内容没有您所选择的语言版本。
Release Notes for RPMs
Abstract
Chapter 1. Availability 复制链接链接已复制到粘贴板!
Red Hat provides a distribution of .NET Core that enables developers to create applications in C#, F#, and other languages and then deploy them as RPMs or Linux containers 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.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 2.0 is available as the RPM rh-dotnet20 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
Full instructions for installing .NET Core 2.0 on RHEL 7 is available in the .NET Core 2.0 Getting Started Guide.
Starting with the 2.0.5 (January 2018) update for .NET Core 2.0, a separate .NET Core SDK is available as a new package. The .NET Core 2.1 SDK is available as rh-dotnet20-dotnet-sdk-2.1. The 2.0 SDK (rh-dotnet20-dotnet-sdk-2.0) is only available for backwards compatibility.
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 in RHEL 7.
This release brings .NET Core much closer to being aligned with the traditional and proprietary .NET Framework, with massively expanded API support for .NET Standard 2.0 and far better support for NuGet packages. This release also improves the experience of migrating .NET server apps from Windows to 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.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 2.0 supports developing applications using ASP.NET Core 2.0 and EF Core 2.0, 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
ASP.NET Core is available from NuGet, which enables ASP.NET Core applications to run on Red Hat systems.
3.2. New Features and Benefits 复制链接链接已复制到粘贴板!
With the release of .NET Core 2.0, .NET Core 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.
API expansion
There are now approximately 20,000 more API endpoints. Developers familiar with .NET will find the experience with .NET Core 2.0 to be a far more familiar environment with easier porting and better cross-framework compatibility. See .NET Standard 2.0 for more details on which APIs are available for the various namespaces.
Support for .NET Standard
Support for .NET Standard 2.0 is built into .NET Core 2.0. Here are some highlights from Introducing .NET Standard.
- .NET Standard 2.0 is a set of APIs that all .NET platforms have to implement. This unifies the .NET platforms and prevents future fragmentation.
- .NET Standard 2.0 will be implemented by .NET Framework, .NET Core, and Xamarin. For .NET Core, this will add many of the existing APIs that have been requested.
- .NET Standard 2.0 includes a compatibility shim for .NET Framework binaries, significantly increasing the set of libraries that you can reference from your .NET Standard libraries.
- .NET Standard 2.0 will replace Portable Class Libraries (PCLs) as the tooling story for building multi-platform .NET libraries. You can see the .NET Standard API definition in the dotnet/standard repository on GitHub.
Consistent versioning scheme
The CLI tools and the CoreCLR runtime and the CoreFX libraries are all versioned consistently to make it easier to see what goes with what. This practice should continue going forward.
Better command-line tooling
The Red Hat release of .NET Core 2.0 introduces fresh support for using csproj-based projects compatible with newer IDEs, such as Visual Studio 2017.
Better cloud support
This release includes several features improving .NET Core’s performance and scaling features for the cloud. It includes better OpenShift Container Platform support as well as smaller images.
.NET Core 2.0 is available for Red Hat Enterprise Linux 7 x86_64 Server, Workstation, and HPC Compute Node. .NET Core 2.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.
C# and F# are two of the prominent languages in the .NET Core platform. The platform also includes Visual Basic to support such modern language features as generics, LINQ, and async support, to name a few.
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.0 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.
- 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 复制链接链接已复制到粘贴板!
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 复制链接链接已复制到粘贴板!
The Resources page at Red Hat Developers provides a wealth of information, including:
- Getting started documents
- Knowledgebase articles and solutions
- Blog posts
The Stack Overflow website is a great place to learn more about .NET Core. Here are just a few topics you can 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 include the following issues.
- .NET Core only runs on Red Hat Enterprise Linux 7.x. It does not run on earlier versions of RHEL.
The Runtime Package Store (RPS) is a new package cache feature that is installed by the .NET Core 2.0 SDK. The Runtime Package Store is not available by default on Red Hat Enterprise Linux.
See Runtime Package Store guidance where not available by default for a full description of the issue and workarounds.
See Runtime Package Store guidance where not available by default for details on how to build the necessary RPM installer for the Runtime Package Store.
There are different values for math libraries on different platforms.
Math libraries that are part of .NET Core 2.0 can return different values on different platforms. This is expected behavior. .NET Core 2.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.
Dotnet restorefails when a project has been created at the Linux root directory (/) when a project name has not been specified.If
dotnet new {template name}runs at the Linux root directory (/) without a specified project name using the-nor--name parameters, the created project is nameless. The project will be called.csprojor something similar for F# or VB. As a result, the file is hidden anddotnet restorefails.NuGet restoremay treat disabled package sources as enabled in some cases.The following restore command-line techniques treat disabled packages sources as enabled.
msbuild /t:restore dotnet restore (either with dotnet.exe that ships with VS, or the one that comes with NetCore SDK 2.0.0)
$ msbuild /t:restore $ dotnet restore (either with dotnet.exe that ships with VS, or the one that comes with NetCore SDK 2.0.0)Copy to Clipboard Copied! Toggle word wrap Toggle overflow The workaround is to use Visual Studio 2017 15.3 or later or NuGet.exe v4.3.0 or later. Delete your disabled source and continue to use
msbuildordotnet.exe. You can use "Clear" inNuGet.configand then define the sources necessary for that solution.There are minimum NETCore.App requirements for the .NET Core CLI.
The .NET Core CLI is itself a .NET Core application and has minimum version requirements for NETCore.App.
Those requirements are:
- .NET CLI 1.0 → NETCore.App 1.0.5
- .NET CLI 2.0 → NETCore.App 1.1.2
- When referencing a NETStandard2.0 library from a .NETFramework application, you must add a reference to the NETStandard.Library.NETFramework package to the .NETFramework project.
- 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.0.
Appendix A. Revision History 复制链接链接已复制到粘贴板!
| Date | Version | Author | Changes |
|---|---|---|---|
| 08/21/2017 | 2.0 | Les Williams | Generally available |
| 10/24/2017 | 2.0 | Les Williams | Updated life cycle page link to point to the new life cycle page |
| 02/28/2018 | 2.0.3 | Les Williams | Revised to include SDK 2.0 and 2.1 |