Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
The error NETSDK1032 occurs when there's a mismatch between the RuntimeIdentifier (RID), such as win-x64 or linux-x64, and the PlatformTarget, such as x64 or x86. The full error message is similar to the following example:
The
RuntimeIdentifierplatform '{RID}' and thePlatformTarget'{Target}' must be compatible.
The RID is specified in the project file or the command line. If not specified, the default RID used is win-x64 for Windows, linux-x64 for Linux, and osx-x64 for macOS.
The PlatformTarget is specified in the project file or the command line. If not specified, the default is AnyCPU.
Here's an example of a .csproj file with incompatible RID and PlatformTarget settings:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net8.0</TargetFramework>
<PlatformTarget>x86</PlatformTarget>
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
</PropertyGroup>
</Project>
Fix the preceding .csproj file by changing either PlatformTarget or RuntimeIdentifier. For example, change PlatformTarget to match the RID:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net8.0</TargetFramework>
<PlatformTarget>x64</PlatformTarget>
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
</PropertyGroup>
</Project>
Or change the RID to match the PlatformTarget:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net8.0</TargetFramework>
<PlatformTarget>x86</PlatformTarget>
<RuntimeIdentifier>win-x86</RuntimeIdentifier>
</PropertyGroup>
</Project>