NETSDK1032: RuntimeIdentifier und PlatformTarget müssen kompatibel sein
Der Fehler NETSDK1032
tritt auf, wenn ein Konflikt zwischen dem RuntimeIdentifier
(RID), z. B. win-x64
oder linux-x64
, und dem PlatformTarget
auftritt, z. B. x64
oder x86
. Die vollständige Fehlermeldung ähnelt dem folgenden Beispiel:
Die
RuntimeIdentifier
Plattform '{RID}' und diePlatformTarget
'{Target}' müssen kompatibel sein.
Die RID wird in der Projektdatei oder in der Befehlszeile angegeben. Wenn nicht angegeben, wird als Standard-RID win-x64
für Windows, linux-x64
für Linux und osx-x64
für macOS verwendet.
Die PlatformTarget
wird in der Projektdatei oder in der Befehlszeile angegeben. Wenn nicht angegeben, ist die Standardeinstellung AnyCPU
.
Hier ist ein Beispiel für eine .csproj
Datei mit inkompatiblen RID- und PlatformTarget
-Einstellungen:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net8.0</TargetFramework>
<PlatformTarget>x86</PlatformTarget>
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
</PropertyGroup>
</Project>
Korrigieren Sie die vorherige .csproj
Datei, indem Sie entweder PlatformTarget
oder RuntimeIdentifier
ändern. Ändern Sie z. B. PlatformTarget
so, dass sie dem RID entsprechen:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net8.0</TargetFramework>
<PlatformTarget>x64</PlatformTarget>
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
</PropertyGroup>
</Project>
Oder ändern Sie die RID so, dass sie mit dem PlatformTarget
übereinstimmt:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net8.0</TargetFramework>
<PlatformTarget>x86</PlatformTarget>
<RuntimeIdentifier>win-x86</RuntimeIdentifier>
</PropertyGroup>
</Project>