.NET 6.0 RPM 软件包发行注记


.NET 6.0

Red Hat Customer Content Services

摘要

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

使开源包含更多

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

对红帽文档提供反馈

我们感谢您对文档提供反馈信息。请让我们了解如何改进文档。要做到这一点:

  • 关于特定内容的简单评论:

    1. 请确定您使用 Multi-page HTML 格式查看文档。另外,确定 Feedback 按钮出现在文档页的右上方。
    2. 用鼠标指针高亮显示您想评论的文本部分。
    3. 点在高亮文本上弹出的 Add Feedback
    4. 按照显示的步骤操作。
  • 要提交更复杂的反馈,请创建一个 Bugzilla ticket:

    1. 进入 Bugzilla 网站。
    2. 在 Component 中选择 Documentation
    3. Description 中输入您要提供的信息。包括文档相关部分的链接。
    4. Submit Bug

第 1 章 可用性

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

  • 对于 Red Hat Enterprise Linux 7,.NET 6.0 在以下软件仓库中作为 RPM rh-dotnet60 提供:

    • 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

    在 Red Hat Enterprise Linux 7 上安装 .NET 6.0 的完整说明,请参阅 RHEL 7 中的 .NET 入门指南。

  • 对于 Red Hat Enterprise Linux 8,.NET 6.0 作为 AppStream 软件仓库中的 RPM dotnet-sdk-6.0 提供。AppStream 软件仓库在 RHEL 8 中默认启用。
  • .NET 6.0 可用于 Red Hat Enterprise Linux 8 和 OpenShift Container Platform 中的 aarch 64、s390xx86_64 架构。

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

第 2 章 概述

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

.NET 6.0 是一个长期支持(LTS)发行版本。LTS 版本一般支持 3 年。如需更多信息,请参阅 .NET 程序的生命周期和支持政策

.NET 提供:

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

第 3 章 功能和优点

3.1. 当前功能和好处

.NET 6.0 提供以下功能和好处:

  • 运行时和框架库

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

    • 自动内存管理
    • 类型安全
    • delegate 和 lambdas
    • 通用类型
    • 语言集成查询(LINQ)
    • async 编程
    • 原生互操作性
    • 源生成器
  • .NET 6.0 支持使用 ASP.NET Core 6.0 和 EF Core 6.0 开发应用程序,这带来了以下优势:

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

3.2. 新特性和优点

支持 64 位 Arm (aarch 64)、IBM Z 和 LinuxONE (s390x)

  • .NET 6.0 引入了对在 Red Hat Enterprise Linux 8 上运行的 64 位 Arm 的支持。
  • .NET 6.0 引入了对在 Red Hat Enterprise Linux 8 和 OpenShift Container Platform 4.2 或更高版本上运行的 IBM Z 和 LinuxONE 的支持。

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

  • 支持 C# 10
  • 支持 F# 6
  • 单文件源程序
  • 基本库、GC 和 JIT 的性能改进
  • 用于日志记录和 JSON 的 source-generators
  • 使用 dotnet-monitor 更好的诊断

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

.NET 6.0 在 Red Hat Enterprise Linux 8 及更新的版本中提供 x86_64aarch64s390x

Expand
表 4.1. .NET 6.0 支持的部署环境
平台架构RPM软件仓库

Red Hat Enterprise Linux 7

AMD64 和 Intel 64 (x86_64)

rh-dotnet60

Red Hat Enterprise Linux 7 Server:

rhel-7-server-dotnet-rpms

Red Hat Enterprise Linux 7 Workstation:

rhel-7-workstation-dotnet-rpm

Red Hat Enterprise Linux 7 HPC:

rhel-7-hpc-node-dotnet-rpms

Red Hat Enterprise Linux 8

AMD64 和 Intel 64 (x86_64)

IBM Z and LinuxONE (s390x)

64 位 Arm (aarch64)

dotnet-sdk-6.0

AppStream

注意:在 Red Hat Enterprise Linux 8 中默认启用 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 and LinuxONE (s390x)

  

第 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 合作来解决它。

RHEL 7、RHEL 8、RHEL 9 和 Red Hat OpenShift Container Platform 版本 3.3 及更新的版本支持 .NET 6.0。

有关 .NET 支持策略的信息,请参阅 .NET Core 生命周期

6.1. 联系选项

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

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

  • 如果您在 IBM Z 和 LinuxONE 上使用 .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 的已知问题包括:

它不会在早期版本的 RHEL 上运行。

  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 上没有 s390x 的 NuGet 软件包。

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

  3. s390x 不支持单个文件应用程序。
  4. s390x 不支持 PublishReadyToRun/crossgen。
  5. s390x 中的 .NET 6.0 不支持容器中的内存和 cpu 限制。

    在这种环境中,.NET 6.0 可能会使用比分配给容器更多的内存,从而导致容器被终止(kill),或在 OpenShift Container Platform 中重启。这个问题的一个临时解决方案是,使用环境变量 MONO_GC_PARAMS=max-heap-size=<limit> 指定一个堆限制。您可以将限制设置为分配给容器的内存量的 75%。例如,如果容器内存限制是 300MB,设置 MONO_GC_PARAMS=max-heap-size=225M

  6. 测试项目模板(xunitnunitmstest)中的 Microsoft.NET.Test.Sdk 软件包的默认版本在 s390x 上不可用。尝试构建/运行测试会失败,并显示 "System.NotSupportedException: specifyd method are not supported" 例外。

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

  7. OmniSharp 是 IDE (如 Visual Studio Code)使用的语言服务器,在 s390x 上不可用。
  8. RHEL 9 禁用了几个弱安全算法来提高安全性。

    使用这些算法的一些 .NET API 会在运行时使用 CryptographicExceptions 失败。如果您确实必须使用弱算法和风险影响安全性,您可以使用以下方法限制系统的安全策略:

    # update-crypto-policies --set DEFAULT:SHA1
    Copy to Clipboard Toggle word wrap

    # update-crypto-policies --set LEGACY”
    Copy to Clipboard Toggle word wrap

    如需更多信息,请参阅 RHEL 9 发行注记中 主要更改概述中的"安全"部分。

  9. 在 RHEL 9 中,强大的命名将不会开箱即用。

    RHEL 9 已在默认配置中禁用 SHA-1。.NET 使用 SHA-1+RSA 来识别使用强名称签名的假设。显式 SHA-1+RSA 算法组合是涉及强命名的 ECMA-335 规范的一部分。但是,由于对 SHA-1 的最新攻击,RHEL 9 弃用了 SHA-1 (与 RSA 结合使用)来提高整个操作系统的安全性。这意味着,任何使用强命名(包括构建时验证)将失败。

    RHEL 9 上的 OpenSSL 错误将代表无效的摘要算法。例如:

    error : Unhandled exception. Interop+Crypto+OpenSslCryptographicException: error:03000098:digital envelope routines::invalid digest
    Copy to Clipboard Toggle word wrap

    有几个可能的临时解决方案:

    • 通过松散系统安全策略启用对 SHA-1+RSA 的支持:

      # update-crypto-policies --set DEFAULT:SHA1
      Copy to Clipboard Toggle word wrap
      注意

      当启用了 FIPS 时,这无法正常工作。在 FIPS 模式中,完全禁止 SHA-1。

    • 切换到 公共签名。要做到这一点,您必须修改项目文件来设置多个属性:

      <PropertyGroup>
        <AssemblyOriginatorKeyFil>$(MSBuildThisFileDirectory)Key.snk</AssemblyOriginatorKeyFile>
        <SignAssembly>true</SignAssembly>
        <PublicSign Condition="'$(OS)' != 'Windows_NT'">true</PublicSign>
      </PropertyGroup>
      Copy to Clipboard Toggle word wrap
  10. 在 RHEL 9 中,NTLM 技术被视为不安全。

    提供 NTLM 身份验证支持的 gss-ntlmssp 软件包已从 RHEL 9 中删除。这意味着 RHEL 9 中的 .NET 无法针对 NTLM 进行身份验证。如果您使用 NLTM 身份验证,请使用其他机制进行验证。

    如需了解更多详细信息,请参阅 采用 RHEL 9 中的注意事项 身份管理 部分

法律通告

Copyright © 2023 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部