NETSDK1032: RuntimeIdentifier och PlatformTarget måste vara kompatibla
Felet NETSDK1032
uppstår när det finns ett matchningsfel mellan RuntimeIdentifier
(RID), till exempel win-x64
eller linux-x64
och PlatformTarget
, till exempel x64
eller x86
. Det fullständiga felmeddelandet liknar följande exempel:
RuntimeIdentifier
-plattformen {RID} ochPlatformTarget
{Target} måste vara kompatibla.
RID anges i projektfilen eller kommandoraden. Om det inte anges är standard-RID som används win-x64
för Windows, linux-x64
för Linux och osx-x64
för macOS.
PlatformTarget
anges i projektfilen eller kommandoraden. Om det inte anges är standardvärdet AnyCPU
.
Här är ett exempel på en .csproj
fil med inkompatibla RID- och PlatformTarget
-inställningar:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net8.0</TargetFramework>
<PlatformTarget>x86</PlatformTarget>
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
</PropertyGroup>
</Project>
Åtgärda den föregående .csproj
-filen genom att ändra antingen PlatformTarget
eller RuntimeIdentifier
. Du kan till exempel ändra PlatformTarget
så att den matchar RID:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net8.0</TargetFramework>
<PlatformTarget>x64</PlatformTarget>
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
</PropertyGroup>
</Project>
Eller ändra RID så att det matchar PlatformTarget
:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net8.0</TargetFramework>
<PlatformTarget>x86</PlatformTarget>
<RuntimeIdentifier>win-x86</RuntimeIdentifier>
</PropertyGroup>
</Project>