Sdílet prostřednictvím


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} a PlatformTarget {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>