NETSDK1206指出您的專案擁有特定版本或特定分發的運行時識別碼資產。 在 .NET 8 和更高版本中,執行階段預設不再考慮版本專用或發行版專用的 RID,而是會 使用一組已知的通用 RID 來尋找 RID 專用的資產。 警告會列出受影響的 RID 和套件。
首先,檢查是否有較新版本的任何受影響的套件,以查看它們是否已移至可攜式 RID。 許多套件在其最新版本中已轉換為可移植的 RID(移植性識別符)。 如果不存在這類版本,建議您連絡套件作者,要求將套件切換為只使用可攜式 RID。
如果您知道您的應用程式實際上不需要指定的 RID,例如,它不適合在 RID 所指定的平台上執行,您可以切換至使用更一般 RID。 例如,在項目檔中將 變更 <RuntimeIdentifier>win10-x64</RuntimeIdentifier> 為 <RuntimeIdentifier>win-x64</RuntimeIdentifier> :
<PropertyGroup>
...
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
</PropertyGroup>
如果您將 RID 指定為命令行自變數,請進行類似的變更。 例如,使用命令 dotnet publish --framework net8.0 --runtime win10-x64 ,而不是 dotnet publish --framework net8.0 --runtime win-x64 。
如果您需要還原為使用舊、完整 RID 圖形的先前行為,您可以在項目檔中將 MSBuild 屬性設定 UseRidGraph 為 true 。 不過,未來不會更新舊的 RID 圖形,以嘗試處理任何其他散發版本或架構。
<PropertyGroup>
<UseRidGraph>true</UseRidGraph>
</PropertyGroup>