NETSDK1032: RuntimeIdentifier a PlatformTarget musí být kompatibilní.
K chybě NETSDK1032
dojde v případě neshody mezi RuntimeIdentifier
(RID), například win-x64
nebo linux-x64
, a PlatformTarget
, například x64
nebo x86
. Úplná chybová zpráva je podobná následujícímu příkladu:
Platforma
RuntimeIdentifier
{RID} aPlatformTarget
{Target} musí být kompatibilní.
Identifikátor RID se zadává v souboru projektu nebo v příkazovém řádku. Pokud není zadán, se použije výchozí identifikátor RID win-x64
pro Windows, linux-x64
pro Linux a osx-x64
pro macOS.
PlatformTarget
je zadán v souboru projektu nebo v příkazovém řádku. Pokud není zadáno, výchozí hodnota je AnyCPU
.
Tady je příklad souboru .csproj
s nekompatibilním nastavením identifikátorů RID a PlatformTarget
:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net8.0</TargetFramework>
<PlatformTarget>x86</PlatformTarget>
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
</PropertyGroup>
</Project>
Opravte předchozí soubor .csproj
změnou PlatformTarget
nebo RuntimeIdentifier
. Změňte například PlatformTarget
tak, aby odpovídal identifikátoru RID:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net8.0</TargetFramework>
<PlatformTarget>x64</PlatformTarget>
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
</PropertyGroup>
</Project>
Nebo změňte identifikátor RID tak, aby odpovídal PlatformTarget
:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net8.0</TargetFramework>
<PlatformTarget>x86</PlatformTarget>
<RuntimeIdentifier>win-x86</RuntimeIdentifier>
</PropertyGroup>
</Project>