共用方式為


NETSDK1206:找到版本或分發版本的執行階段識別碼

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 屬性設定 UseRidGraphtrue 。 不過,未來不會更新舊的 RID 圖形,以嘗試處理任何其他散發版本或架構。

<PropertyGroup>
  <UseRidGraph>true</UseRidGraph>
</PropertyGroup>