Megosztás a következőn keresztül:


NETSDK1032: A RuntimeIdentifier és a PlatformTarget kompatibilisnek kell lennie

A NETSDK1032 hiba akkor fordul elő, ha a RuntimeIdentifier (RID) (például win-x64 vagy linux-x64) és a PlatformTarget(például x64 vagy x86) nem egyezik. A teljes hibaüzenet a következő példához hasonló:

A(z) "{RID}" RuntimeIdentifier platformnak és a ({Target}) PlatformTarget kompatibilisnek kell lennie.

A RID a projektfájlban vagy a parancssorban van megadva. Ha nincs megadva, a használt alapértelmezett RID a Windows win-x64, a Linux linux-x64 és a macOS osx-x64.

A PlatformTarget a projektfájlban vagy a parancssorban van megadva. Ha nincs megadva, az alapértelmezett érték AnyCPU.

Íme egy példa egy .csproj fájlra, amely nem kompatibilis RID- és PlatformTarget-beállításokkal rendelkezik:

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

Javítsa ki az előző .csproj fájlt PlatformTarget vagy RuntimeIdentifiermódosításával. Módosítsa például a PlatformTarget a RID-nek megfelelőre:

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

Vagy módosítsa a RID-t úgy, hogy megfeleljen a PlatformTarget:

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