Skip to content
Latchkey

dotnet "NETSDK1083: runtime identifier not recognized" in CI

A dotnet publish -r <rid> (or a project RuntimeIdentifier) used a runtime identifier the SDK does not recognize. The RID is misspelled, retired, or not supported for the chosen SDK/target.

What this error means

Publish fails with NETSDK1083 naming the RID it could not recognize. It is deterministic - the same invalid RID fails the same way until corrected to a supported value.

dotnet publish output
error NETSDK1083: The specified RuntimeIdentifier 'linux-x86' is not recognized.
See https://aka.ms/netsdk1083 for more information.

Common causes

Misspelled or non-existent RID

A typo (linux-x86 instead of linux-x64) or a RID that simply does not exist for the platform is rejected by the SDK.

Retired distro-specific RID on a newer SDK

Newer SDKs use portable RIDs (linux-x64) and no longer recognize older distro-specific ones (ubuntu.20.04-x64), so a once-valid RID can stop being recognized.

How to fix it

Use a valid, portable RID

Publish with a supported runtime identifier for your target platform.

Terminal
dotnet publish -c Release -r linux-x64 --self-contained true
# common RIDs: linux-x64, linux-arm64, win-x64, win-arm64, osx-x64, osx-arm64

Set RuntimeIdentifier(s) in the project

Declare the RID in the project so publish and restore agree on it.

.csproj
<PropertyGroup>
  <RuntimeIdentifiers>linux-x64;win-x64</RuntimeIdentifiers>
</PropertyGroup>

How to prevent it

  • Use portable RIDs from the official RID catalog.
  • Keep RIDs in the project (RuntimeIdentifiers) so they are validated at restore.
  • Re-check RIDs after an SDK major upgrade in case distro-specific ones were retired.

Frequently asked questions

What causes ""NETSDK1083: ... RID ... was not recognized""?
A typo (linux-x86 instead of linux-x64) or a RID that simply does not exist for the platform is rejected by the SDK.
How do I fix "NETSDK1083: ... RID ... was not recognized"?
Publish with a supported runtime identifier for your target platform.

Related guides

References

Latchkey auto-heals failures like this one - detected, fixed, and retried without you. Start free → 30-day trial · No credit card