NETSDK1082: 没有可用的运行时包

NETSDK1082 警告在 NuGet 源中找不到运行时标识符 (RID) 的运行时包。 完整的错误消息类似于以下示例:

没有可用于指定 RuntimeIdentifier“<RID>”的 <RuntimePack> 运行时包。

.NET 会自动为自包含应用程序下载已知的运行时包,但可能会有指向不可用的运行时包的指针。 调查 NuGet 配置和源,找出缺少所需运行时包的原因。 在某些情况下,可能必须将 LatestRuntimeFrameworkVersion 值替换为 NuGet 源中可用的值,方法是向项目文件添加以下示例所示的标记:

<ItemGroup>
  <KnownRuntimePack Update="@(KnownRuntimePack)">
    <LatestRuntimeFrameworkVersion Condition="'%(TargetFramework)' == 'TARGETFRAMEWORK'">EXISTINGVERSION</LatestRuntimeFrameworkVersion>
  </KnownRuntimePack>
</ItemGroup>

在此示例中,TARGETFRAMEWORK 表示 net8.0net6.0 之类的值,即基本上是支持的目标框架中 .NET 5+(和 .NET Core)列表中的任何值EXISTINGVERSION 需要是已发布的有效版本。 例如,对于 net6.0,需要是 6.0.7