Skip to content

NuGet package framework-dependent on ARM64 without note #1951

Description

@Widthdom

Summary

.github/workflows/release.yml:344-379 publishes a NuGet global-tool package via dotnet pack + dotnet nuget push, but the package is framework-dependent (portable .NET 8). On ARM64 platforms (Apple Silicon, Linux ARM, Windows ARM), users installing via dotnet tool install -g cdidx rely on the host .NET 8 runtime, whereas users on x64 platforms can pick between the self-contained install.sh binary or the portable NuGet version. USER_GUIDE.md:175-199 does not warn ARM64 users about the .NET 8 prerequisite.

Where

  • .github/workflows/release.yml:367-379 (NuGet publish — no RID-specific variants)
  • src/CodeIndex/CodeIndex.csproj (no RID-aware packing or multi-targeting)
  • USER_GUIDE.md:175-199 ("Option B: NuGet Global Tool" — no .NET 8 note)

Suggested approach

  1. Document the .NET 8 runtime prerequisite for the NuGet tool path in USER_GUIDE.md and README.md.
  2. Add an ARM64 platform-specific note explaining that install.sh is the recommended self-contained route.
  3. Optionally publish RID-specific self-contained NuGet packages (one per RID) so the global-tool path is self-contained too.
  4. Refresh the NuGet package description/tags to mention the .NET 8 dependency.
  5. Add a NuGet-side install verification step to CI that runs on a runner without .NET preinstalled and asserts the failure message is clear.
  6. Cross-link both paths from a single decision matrix in USER_GUIDE.md.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions