NETSDK1032: RuntimeIdentifier и PlatformTarget должны быть совместимыми
Ошибка NETSDK1032
возникает при несоответствии между RuntimeIdentifier
(RID), например win-x64
или linux-x64
, и PlatformTarget
, например x64
или x86
. Полное сообщение об ошибке аналогично следующему примеру:
Платформа
RuntimeIdentifier
"{RID}" иPlatformTarget
"{Target}" должна быть совместима.
RID указывается в файле проекта или командной строке. Если этот параметр не указан, используется параметр RID по умолчанию win-x64
для Windows, linux-x64
для Linux и osx-x64
для macOS.
PlatformTarget
указывается в файле проекта или командной строке. Если значение не указано, значение по умолчанию — AnyCPU
.
Ниже приведен пример файла .csproj
с несовместимыми параметрами RID и PlatformTarget
:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net8.0</TargetFramework>
<PlatformTarget>x86</PlatformTarget>
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
</PropertyGroup>
</Project>
Исправьте предыдущий файл .csproj
, изменив PlatformTarget
или RuntimeIdentifier
. Например, измените PlatformTarget
на соответствие RID:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net8.0</TargetFramework>
<PlatformTarget>x64</PlatformTarget>
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
</PropertyGroup>
</Project>
Или измените RID, чтобы он соответствовал PlatformTarget
:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net8.0</TargetFramework>
<PlatformTarget>x86</PlatformTarget>
<RuntimeIdentifier>win-x86</RuntimeIdentifier>
</PropertyGroup>
</Project>