NETSDK1032: RuntimeIdentifier と PlatformTarget は互換性がある必要があります
エラー NETSDK1032
は、win-x64
や linux-x64
などの RuntimeIdentifier
(RID) と、x64
や x86
などの PlatformTarget
が一致しない場合に発生します。 完全なエラー メッセージは、次の例のようになります。
RuntimeIdentifier
プラットフォーム '{RID}' とPlatformTarget
'{Target}' は互換性がある必要があります。
RID は、プロジェクト ファイルまたはコマンド ラインで指定します。 指定しない場合、Windows 用の既定の RID は win-x64
、Linux 用は linux-x64
、macOS 用は osx-x64
です。
PlatformTarget
は、プロジェクト ファイルまたはコマンド ラインで指定します。 指定しない場合、既定値は AnyCPU
です。
互換性のない RID と PlatformTarget
設定を持つ .csproj
ファイルの例を次に示します。
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net8.0</TargetFramework>
<PlatformTarget>x86</PlatformTarget>
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
</PropertyGroup>
</Project>
PlatformTarget
または RuntimeIdentifier
を変更して、上記の .csproj
ファイルを修正します。 たとえば、RID に一致するように PlatformTarget
を変更します。
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net8.0</TargetFramework>
<PlatformTarget>x64</PlatformTarget>
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
</PropertyGroup>
</Project>
または、PlatformTarget
に一致するように RID を変更します。
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net8.0</TargetFramework>
<PlatformTarget>x86</PlatformTarget>
<RuntimeIdentifier>win-x86</RuntimeIdentifier>
</PropertyGroup>
</Project>
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET