Bagikan melalui


NETSDK1032: RuntimeIdentifier dan PlatformTarget harus kompatibel

Kesalahan NETSDK1032 terjadi ketika ada ketidakcocokan antara RuntimeIdentifier (RID), seperti win-x64 atau linux-x64, dan PlatformTarget, seperti x64 atau x86. Pesan kesalahan lengkap mirip dengan contoh berikut:

Platform RuntimeIdentifier '{RID}' dan PlatformTarget '{Target}' harus kompatibel.

RID ditentukan dalam file proyek atau baris perintah. Jika tidak ditentukan, RID default yang digunakan win-x64 untuk Windows, linux-x64 untuk Linux, dan osx-x64 untuk macOS.

PlatformTarget ditentukan dalam file proyek atau baris perintah. Jika tidak ditentukan, defaultnya adalah AnyCPU.

Berikut adalah contoh file .csproj dengan pengaturan RID dan PlatformTarget yang tidak kompatibel:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>net8.0</TargetFramework>
    <PlatformTarget>x86</PlatformTarget>
    <RuntimeIdentifier>win-x64</RuntimeIdentifier>
  </PropertyGroup>
</Project>

Perbaiki file .csproj sebelumnya dengan mengubah PlatformTarget atau RuntimeIdentifier. Misalnya, ubah PlatformTarget agar sesuai dengan RID:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>net8.0</TargetFramework>
    <PlatformTarget>x64</PlatformTarget>
    <RuntimeIdentifier>win-x64</RuntimeIdentifier>
  </PropertyGroup>
</Project>

Atau ubah RID agar sesuai dengan PlatformTarget:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>net8.0</TargetFramework>
    <PlatformTarget>x86</PlatformTarget>
    <RuntimeIdentifier>win-x86</RuntimeIdentifier>
  </PropertyGroup>
</Project>