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}' danPlatformTarget
'{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>