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 dePlatformTarget
{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 RuntimeIdentifier
te 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>