.NET 7.0 RPM 软件包发行注记

.NET 7.0

Red Hat Customer Content Services

摘要

.NET 7.0 RPM 软件包的发行注记提供了组成 .NET 7.0 平台的功能的高级信息,并记录了本发行版本中已知的问题。

使开源包含更多

红帽致力于替换我们的代码、文档和 Web 属性中有问题的语言。我们从这四个术语开始:master、slave、黑名单和白名单。由于此项工作十分艰巨,这些更改将在即将推出的几个发行版本中逐步实施。详情请查看 CTO Chris Wright 的信息

对红帽文档提供反馈

我们感谢您对我们文档的反馈。让我们了解如何改进它。

提交对具体内容的评论

  1. 查看 Multi-page HTML 格式的文档,并确保在页面完全加载后看到右上角的 Feedback 按钮。
  2. 使用光标突出显示您要评论的文本部分。
  3. 点击在高亮文本旁的 Add Feedback 按钮。
  4. 添加您的反馈并点 Submit

通过 Bugzilla 提交反馈(需要帐户)

  1. 登录到 Bugzilla 网站。
  2. Version 菜单中选择正确的版本。
  3. Summary 字段中输入描述性标题。
  4. Description 字段中输入您对改进的建议。包括文档相关部分的链接。
  5. Submit Bug

第 1 章 可用性

红帽提供了一个 .NET 发行版本,使开发人员能够使用 C#、Visual Basic 和 F# 语言创建应用程序,然后在 Red Hat Enterprise Linux (RHEL)、Red Hat OpenShift Container Platform 或其他平台上部署它们。提供免费的 Red Hat Enterprise Linux 开发人员订阅,包括用于容器开发的完整工具套件。

  • 对于 RHEL 8.7 及更高版本,.NET 7.0 及更新的版本作为 AppStream 软件仓库中的以下 RPM 提供:

    dotnet-sdk-7.0
    包括 .NET 7.0 软件开发套件(SDK)和所有运行时。
    aspnetcore-runtime-7.0
    ASP .NET 核心运行时。这包括 .NET 运行时和 ASP .NET Core 运行时。安装此软件包以运行基于 ASP .NET Core 的应用程序。
    dotnet-runtime-7.0
    只有 .NET 7.0 运行时。安装它以仅在没有 SDK 的情况下使用运行时。

AppStream 软件仓库在 RHEL 8 和 RHEL 9 中默认启用。

  • .NET 7.0 可用于 RHEL 8、RHEL 9 和 OpenShift Container Platform 中的 aarch 64、ppc64les390xx86_64 架构。

    有关在 RHEL 8 上安装 .NET 7.0 的完整说明,请参阅 RHEL 8 上的 .NET 入门指南。

    有关在 RHEL 9 上安装 .NET 7.0 的完整说明,请参阅 RHEL 9 中的 .NET 入门指南。

第 2 章 概述

.NET 是 .NET 的一般目的、模块化、跨平台和开源实现,具有自动内存管理和现代编程语言。它允许用户高效构建高质量的应用程序。

.NET 7.0 包括在 RHEL 8.7 及更新的版本中,RHEL 9.1 及更新的版本。

.NET 7.0 是标准 Term Support (STS)版本。STS 版本会提供相同的修复,并使用与 Long Term Support (LTS)版本相同的功能更新。STS 版本在 18 个月后结束支持。如需更多信息,请参阅 .NET 程序的生命周期和支持政策

.NET 提供:

  • 遵循基于微服务的方法,其中一些组件使用 .NET 构建,其他组件使用 Java 或 JavaScript 构建,但所有组件都可以在 RHEL 中支持的通用平台中运行。
  • 在 Microsoft Windows 上更轻松地开发新的 .NET 工作负载的容量。您可以在 RHEL 或 Windows 服务器上部署并运行。
  • 一个异构的数据中心,底层基础结构可以在不需要依赖 Windows 服务器的情况下运行 .NET 应用程序。

第 3 章 功能和优点

3.1. 当前功能和好处

.NET 7.0 提供以下功能和好处。

  • 运行时和框架库

    .NET 包括运行时和框架库,以及用于获取 NuGet 软件包的工具,以及用于将所有内容绑定在一起的命令行界面。优点包括:

    • 自动内存管理
    • 类型安全
    • delegate 和 lambdas
    • 通用类型
    • 语言集成查询(LINQ)
    • async 编程
    • 原生互操作性
    • 源生成器
  • .NET 7.0 支持使用 ASP.NET Core 7.0 和 EF Core 7.0 开发应用程序,它的好处如下:

    • 轻量级和模块化的 HTTP 请求管道
    • 在 Web 服务器或您自己的进程中托管自主机的功能
    • 基于 .NET 构建,它支持 true 并行应用程序版本
    • 用于创建和使用 NuGet 软件包的集成支持
    • Web UI 和 Web API 的单一一致的 Web 堆栈
    • 基于云的就绪环境配置
    • 内置对依赖项注入的支持
    • 简化现代 Web 开发的工具

3.2. 新特性和优点

.NET 7.0 继续扩大其对开源环境中应用程序开发的支持和工具。.NET 的最新版本包括以下改进:

  • IBM Power 支持: 除了 x64_64 (64 位 Intel/AMD)、aarch64 (64 位 ARM)和 s390x (64 位 IBM Z)架构外,.NET 7.0 引入了对 RHEL 8.7 及更高版本上的 ppc64le (64 位 IBM Power)架构的支持。
  • c# 更新至 C full: 包括新的语言版本 C# 11。
  • 支持完全构建原生控制台应用程序
  • 性能改进 :在基本库、GC 和 JIT 中进行了很多性能改进。用于正则表达式的新源生成器消除了在运行时编译(或解释)正则表达式的成本。
  • 新的 API 和改进的监控 :改进了对 OpenTelemetry. .NET 7.0 的支持,它包括了新的 API 来使用 tar 文件和 Unix 文件权限。
  • 通用 Math :允许编写处理任何内置数字类型的通用算法,并启用构建您自己的数字类型。
  • ASP.NET Core 7 的改进 :提高 HTTP/2 和 HTTP/3 的性能。另外,扩展了 .NET 6 中引入的最小 API,带有额外的 OpenAPI 支持、端点过滤器和路由组。

第 4 章 支持的操作系统和架构

.NET 7.0 适用于 Red Hat Enterprise Linux 8.7 及更新的版本,Red Hat Enterprise Linux 9.1 及更新的版本。.NET 7.0 还可用于 Red Hat Enterprise Atomic Host 和 OpenShift Container Platform。

.NET 7.0 在 x64_64 (64 位 Intel/AMD)、aarch64 (64 位 ARM)、ppc64le (64 位 IBM Power)和 s390x (64 位 IBM Z)架构中可用。

表 4.1. .NET 7.0 支持的部署环境

平台架构RPM软件仓库

Red Hat Enterprise Linux 8

AMD64 和 Intel 64 (x86_64)

IBM Z 和 LinuxONE (s390x)

64-bit ARM (aarch64)

IBM Power (ppc64le)

dotnet-sdk-7.0

AppStream

注意:在 Red Hat Enterprise Linux 8 中默认启用 AppStream 软件仓库。

Red Hat Enterprise Linux 9

AMD64 和 Intel 64 (x86_64)

IBM Z 和 LinuxONE (s390x)

64-bit ARM (aarch64)

IBM Power (ppc64le)

dotnet-sdk-7.0

AppStream

Red Hat Enterprise Atomic Host

AMD64 和 Intel 64 (x86_64)

  

OpenShift Container Platform 3.11 及更新的版本

AMD64 和 Intel 64 (x86_64)

  

OpenShift Container Platform 4.2 及更新的版本

IBM Z 和 LinuxONE (s390x)

  

OpenShift Container Platform 4.10 及更新的版本

IBM Power (ppc64le)

  

第 5 章 客户隐私

各种 Microsoft 产品具有向 Microsoft 报告使用量统计、分析和 Microsoft 各种其他指标的功能。Microsoft 称之为 Telemetry。红帽正在禁用遥测功能,因为我们不推荐在不明确权限的情况下向任何人发送客户数据。

第 6 章 支持

红帽和 Microsoft 致力于为 .NET 提供出色的支持,并一起解决红帽支持平台上存在的任何问题。在高级别上,红帽支持在 Red Hat Enterprise Linux (RHEL)中的安装、配置和运行 .NET 组件。红帽还可以为我们可以帮助的问题提供"合理的"支持,例如,NuGet access issues, permissions issues, permissions issues, firewall, 和 application 问题。如果问题是 .NET 中的一个缺陷或漏洞,我们主动与 Microsoft 合作来解决它。

.NET 7.0 支持 RHEL 8.7 及更新的版本、RHEL 9.1 及更新的版本,以及当前支持的 Red Hat OpenShift Container Platform 版本。

有关 .NET 支持 策略的信息,请参阅 .NET 程序的生命周期和支持政策。如需有关 Red Hat OpenShift Container Platform 支持政策的信息,请参阅 Red Hat OpenShift Container Platform 生命周期政策

6.1. 联系选项

根据您如何使用 .NET,可通过几种方法获得支持。

集成支持是红帽与 Microsoft 之间的协作支持协议。在 Microsoft Azure 中使用红帽产品的客户是相互客户,因此两家公司都是为可能提供最佳的故障排除和支持体验。

  • 如果您在 IBM Z、IBM LinuxONE 或 IBM Power 上使用 .NET,请联系红帽支持。如果分配给您的问题单的红帽支持工程师需要 IBM 的帮助,红帽支持工程师将直接与 IBM 合作,而无需任何操作。

6.2. 常见问题解答

以下是集成支持的最常见支持问题的四个。

  1. 我何时访问集成支持?

    您可以直接 联系红帽支持。如果分配给您的问题单的红帽支持工程师需要 Microsoft 的帮助,红帽支持工程师将直接与 Microsoft 合作,而无需任何操作。在 Microsoft 一侧,他们有一个直接与红帽支持工程师合作的流程。

  2. 我在提交支持问题单后会发生什么?

    创建红帽支持问题单后,红帽支持工程师将分配给问题单,并开始与您和 Microsoft 支持工程师合作。您应该根据 红帽的生产支持服务等级协议 来响应此问题。

  3. 如果我需要进一步帮助,该怎么办?

    请联络红帽支持 以获得创建您的问题单或与此过程相关的任何问题的帮助。您可以在此处查看您的任何支持问题单。

  4. 如何与 Microsoft 合作获得 Azure 平台问题的支持?

    如果您有 Microsoft 的支持,可以使用您通常遵循的任何流程创建一个问题单。如果您没有 Microsoft 的支持,则始终可从 Microsoft 支持 获得支持

6.3. 其他支持资源

Red Hat Developers 中的 Resources 页面提供大量信息,包括:

  • 入门文档
  • 知识库文章和解决方案
  • 博客文章

.NET 文档托管在 Microsoft 网站。以下是要探索的一些额外主题:

您还可以在 红帽和 Microsoft Azure 认证的 Cloud & Service Provider 支持政策 中看到更多支持政策 信息。

第 7 章 已知问题

在 Red Hat Enterprise Linux (RHEL)上运行 .NET 的已知问题包括:

  1. dotnet dev-certs https --trust 无法在 RHEL 上工作。

    .NET 支持通过 dotnet dev-certs https 创建 HTTPS 证书,但它不支持通过 dotnet dev-certs https --trust 信任它们。连接到 ASP.NET Core 应用程序的客户端(如 curl 或 Firefox)将警告不受信任的自签名证书。要在 Firefox 等浏览器中临时解决这个问题,请忽略警告并信任证书(当有关不受信任的证书的警告)。命令行工具支持标志来忽略不可信证书。对于 curl,请使用 --insecure 标志。对于 wget,请使用 --no-check-certificate 标志。

  2. nuget.org 上没有 NuGet 软件包用于 ppc64les390x

    使用 rhel.8-s390x,linux-s390x,rhel.8-ppc64le, 或 linux-ppc64le 运行时标识符可能会导致一些 dotnet 命令在尝试获取这些软件包时失败。这些命令可以在 ppc64les390x 上被完全支持,如其他已知问题所述,或者问题可以通过不指定运行时标识符来解决。

  3. ppc64les390x 不支持单个文件应用程序。
  4. ppc64les390x 不支持 PublishReadyToRun/crossgen。
  5. 测试项目模板(xunitnunitmstest)中的 Microsoft.NET.Test.Sdk 软件包的默认版本在 ppc64le 上不可用。尝试构建/运行测试会失败,并显示 "System.NotSupportedException: specifyd method are not supported" 例外。

    如果您要在 ppc64le 上运行测试,请将 Microsoft.NET.Test.Sdk 软件包的版本更新为至少 17.4.0。

  6. OmniSharp 是 IDE (如 Visual Studio Code)使用的语言服务器,在 ppc64les390x 上不可用。

法律通告

版权所有 © 2021 Red Hat, inc.
本文档内容及图解由红帽根据 Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA")授权。http://creativecommons.org/licenses/by-sa/3.0/ 中提供了CC-BY-SA 的说明。根据 CC-BY-SA,如果发布本文档或提供此文档,则必须提供原始版本的 URL。
作为本文档的许可者,红帽可能会放弃强制制执行 CC-BY-SA 第4d 条款,且不声明该条款在适用条款允许的最大限度内有效。
Red Hat、Red Hat Enterprise Linux、Shadowman 徽标、红帽徽标、JBoss、OpenShift、Fedora、Infinity 徽标和 RHCE 是 Red Hat, Inc. 在美国和其他国家注册的商标。
Linux® 是 Linus Torvalds 在美国和其它国家注册的商标。
Java® 是 Oracle 和/或其附属公司注册的商标。
XFS® 是 Silicon Graphics International Corp. 或其子公司在美国和/或其他国家的商标。
MySQL® 是 MySQL AB 在美国、美国和其他国家注册的商标。
Node.js® 是 Joyent 的官方商标。红帽与官方 Joyent Node.js 开源社区或商业项目没有正式的关系或认可。
OpenStack® Word Mark 和 OpenStack 徽标是 OpenStack Foundation 在美国及其他国家注册的商标/服务标记或商标/服务标记,在 OpenStack Foundation 许可的情况下使用。我们不附属于 OpenStack Foundation 或 OpenStack 社区。
IBM®、IBM Power® 和 IBM Z® 是国际商业机器公司(国际商业机器公司)的商标或注册商标,在世界各地的许多管控机构注册。
所有其他商标均由其各自所有者所有。