Browse Source

Carry all publish RIDs in the core-library lock files

ICSharpCode.Decompiler / ILSpyX / BamlDecompiler set RestoreLockedMode but
declared no RuntimeIdentifiers, so their lock files were RID-agnostic. A
RID-specific 'dotnet publish -r <rid>' of ILSpy (which declares all four
distribution RIDs) propagated the RID to these locked project references and
failed restore with NU1004 unless --no-restore or --force-evaluate was used.
Declare the same win-x64;win-arm64;linux-x64;osx-arm64 set on the three
libraries and regenerate the locks so a locked-mode publish works for every
platform out of the box.

Assisted-by: Claude:claude-opus-4-8:Claude Code
pull/3755/head
Siegfried Pammer 4 weeks ago
parent
commit
e0cde005f9
  1. 4
      ICSharpCode.BamlDecompiler/ICSharpCode.BamlDecompiler.csproj
  2. 6
      ICSharpCode.BamlDecompiler/packages.lock.json
  3. 4
      ICSharpCode.Decompiler/ICSharpCode.Decompiler.csproj
  4. 6
      ICSharpCode.Decompiler/packages.lock.json
  5. 2
      ICSharpCode.ILSpyX/ICSharpCode.ILSpyX.csproj
  6. 6
      ICSharpCode.ILSpyX/packages.lock.json

4
ICSharpCode.BamlDecompiler/ICSharpCode.BamlDecompiler.csproj

@ -2,7 +2,9 @@ @@ -2,7 +2,9 @@
<PropertyGroup>
<TargetFramework>net10.0</TargetFramework>
<!-- RID-complete lock so a RID-specific publish of ILSpy restores in locked mode on any host. -->
<RuntimeIdentifiers>win-x64;win-arm64;linux-x64;osx-arm64</RuntimeIdentifiers>
<SignAssembly>True</SignAssembly>
<AssemblyOriginatorKeyFile>..\ICSharpCode.Decompiler\ICSharpCode.Decompiler.snk</AssemblyOriginatorKeyFile>

6
ICSharpCode.BamlDecompiler/packages.lock.json

@ -33,6 +33,10 @@ @@ -33,6 +33,10 @@
"resolved": "10.0.8",
"contentHash": "Ap8JPUYLRnwQPk/rpyhxSoD+55/a7zJfZsmSD0maudVJT9p/xR+xegyT8gQIwh1XMC/lRowQJM06EdQ0dfiMkA=="
}
}
},
"net10.0/linux-x64": {},
"net10.0/osx-arm64": {},
"net10.0/win-arm64": {},
"net10.0/win-x64": {}
}
}

4
ICSharpCode.Decompiler/ICSharpCode.Decompiler.csproj

@ -3,6 +3,10 @@ @@ -3,6 +3,10 @@
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<!-- Carry every distribution RID in the lock file so a RID-specific `dotnet publish -r <rid>` of a
consuming app (ILSpy) restores in locked mode (RestoreLockedMode below) on any host OS, with no
per-publish restore escape hatch. Must match ILSpy.csproj's RuntimeIdentifiers. -->
<RuntimeIdentifiers>win-x64;win-arm64;linux-x64;osx-arm64</RuntimeIdentifiers>
<PackageId>ICSharpCode.Decompiler</PackageId>
<PackageVersion>8.0.0.0-noversion</PackageVersion>

6
ICSharpCode.Decompiler/packages.lock.json

@ -112,6 +112,10 @@ @@ -112,6 +112,10 @@
"resolved": "6.1.2",
"contentHash": "2hBr6zdbIBTDE3EhK7NSVNdX58uTK6iHW/P/Axmm9sl1xoGSLqDvMtpecn226TNwHByFokYwJmt/aQQNlO5CRw=="
}
}
},
".NETStandard,Version=v2.0/linux-x64": {},
".NETStandard,Version=v2.0/osx-arm64": {},
".NETStandard,Version=v2.0/win-arm64": {},
".NETStandard,Version=v2.0/win-x64": {}
}
}

2
ICSharpCode.ILSpyX/ICSharpCode.ILSpyX.csproj

@ -2,6 +2,8 @@ @@ -2,6 +2,8 @@
<PropertyGroup>
<TargetFramework>net10.0</TargetFramework>
<!-- RID-complete lock so a RID-specific publish of ILSpy restores in locked mode on any host. -->
<RuntimeIdentifiers>win-x64;win-arm64;linux-x64;osx-arm64</RuntimeIdentifiers>
<Nullable>enable</Nullable>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<WarningsAsErrors>nullable</WarningsAsErrors>

6
ICSharpCode.ILSpyX/packages.lock.json

@ -86,6 +86,10 @@ @@ -86,6 +86,10 @@
"resolved": "10.0.8",
"contentHash": "rvMGYko6bcE/ZTpj1Q/EM22rcZNiQyjH+71capjjfmqG+DDncVE4kSaE5ysCv2vEFIHt8+zALWYXgIETFvcFzw=="
}
}
},
"net10.0/linux-x64": {},
"net10.0/osx-arm64": {},
"net10.0/win-arm64": {},
"net10.0/win-x64": {}
}
}
Loading…
Cancel
Save