默认情况下,使用 PublishTrimmed 禁用 System.Net.Http 中的 HTTP/3 支持

在项目中将 PublishTrimmedPublishAot 设置为 true 默认情况下会在 System.Net.Http 禁用 HTTP/3 支持。

引入的版本

.NET 10

以前的行为

以前,允许 HTTP/3 支持,但在 msquic 原生库不可用的环境中,默认情况下可能实际上无法工作。 这导致 HTTP/3 实际上不起作用,而应用承载了与其相关的所有代码。

新行为

从 .NET 10 开始,HTTP/3 被禁用,并且当PublishTrimmedPublishAot设置为true时,将不包含它的代码。

破坏性变更的类型

此更改可能会影响 源兼容性

更改原因

由于使 HTTP/3 工作需要额外的操作,并且默认情况下通常无法工作,因此运行时在修剪或 AOT 编译的应用程序中不再携带其代码。

若要在使用PublishTrimmedPublishAot的应用程序中启用 HTTP/3 支持,请在项目文件中将<Http3Support>属性设置为true

<PropertyGroup>
  ...
  <PublishTrimmed>true</PublishTrimmed>
  <Http3Support>true</Http3Support>
</PropertyGroup>

受影响的 API

None.

另请参阅