NETSDK1206:找到特定于版本或特定于分发版的运行时标识符
NETSDK1206 指示项目具有特定于版本或特定于分发版的运行时标识符的资产。 在 .NET 8 及更高版本中,运行时默认不再考虑特定于版本或特定于分发版的 RID,并且将使用一组已知的可移植 RID 查找特定于 RID 的资产。 该警告将列出 RID 和受影响的包。
首先,检查任何受影响的包的更新版本,以查看它们是否已移至可移植 RID。 许多包已在最新版本中移至可移植 RID。 如果不存在此类版本,建议联系包作者,请求切换包以仅使用可移植 RID。
如果知道应用程序实际上不需要指定的 RID(例如,它不打算在 RID 指定的平台上运行),可以使用 NoWarn
MSBuild 属性来禁止显示警告。 例如:
<PropertyGroup>
<NoWarn>$(NoWarn);NETSDK1206</NoWarn>
</PropertyGroup>
如果应用程序确实需要指定的 RID,并且受影响的包没有使用可移植 RID 的版本,则可以将运行时配置为通过具有特定于版本和特定于分发版的 RID 的旧 RID 图执行资产解析。 请注意,旧 RID 图不再更新,仅作为一个后向兼容性选项存在。
<ItemGroup>
<RuntimeHostConfigurationOption Include="System.Runtime.Loader.UseRidGraph" Value="true" />
</ItemGroup>