Delen via


NETSDK1032: RuntimeIdentifier en PlatformTarget moeten compatibel zijn

De fout NETSDK1032 treedt op wanneer er een verschil is tussen de RuntimeIdentifier (RID), zoals win-x64 of linux-x64, en de PlatformTarget, zoals x64 of x86. Het volledige foutbericht is vergelijkbaar met het volgende voorbeeld:

Het RuntimeIdentifier-platform {RID} en de PlatformTarget {Target} moeten compatibel zijn.

De RID is opgegeven in het projectbestand of de opdrachtregel. Als dit niet is opgegeven, wordt de standaard-RID win-x64 voor Windows, linux-x64 voor Linux en osx-x64 voor macOS.

De PlatformTarget wordt opgegeven in het projectbestand of de opdrachtregel. Als dit niet is opgegeven, wordt de standaardwaarde AnyCPU.

Hier volgt een voorbeeld van een .csproj-bestand met incompatibele RID- en PlatformTarget-instellingen:

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

Los het voorgaande .csproj bestand op door PlatformTarget of RuntimeIdentifierte wijzigen. Wijzig bijvoorbeeld PlatformTarget zodat deze overeenkomt met de RID:

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

Of wijzig de RID zodat deze overeenkomt met de PlatformTarget:

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