在项目中将 PublishTrimmed 或 PublishAot 设置为 true 默认情况下会在 System.Net.Http 禁用 HTTP/3 支持。
引入的版本
.NET 10
以前的行为
以前,允许 HTTP/3 支持,但在 msquic 原生库不可用的环境中,默认情况下可能实际上无法工作。 这导致 HTTP/3 实际上不起作用,而应用承载了与其相关的所有代码。
新行为
从 .NET 10 开始,HTTP/3 被禁用,并且当PublishTrimmed或PublishAot设置为true时,将不包含它的代码。
破坏性变更的类型
此更改可能会影响 源兼容性。
更改原因
由于使 HTTP/3 工作需要额外的操作,并且默认情况下通常无法工作,因此运行时在修剪或 AOT 编译的应用程序中不再携带其代码。
建议的措施
若要在使用PublishTrimmed或PublishAot的应用程序中启用 HTTP/3 支持,请在项目文件中将<Http3Support>属性设置为true。
<PropertyGroup>
...
<PublishTrimmed>true</PublishTrimmed>
<Http3Support>true</Http3Support>
</PropertyGroup>
受影响的 API
None.