Skip to content

[repo-assist] Fix local NuGet source not recognizing .symbols.nupkg packages - #4388

Merged
dsyme merged 1 commit into
masterfrom
repo-assist/fix-issue-1587-symbols-local-source-81b89c77bab805c1
Aug 29, 2026
Merged

dsyme merged 1 commit into
masterfrom
repo-assist/fix-issue-1587-symbols-local-source-81b89c77bab805c1

Conversation

@github-actions

Copy link
Copy Markdown
Contributor

🤖 This is an automated response from Repo Assist, an automated AI assistant.

Closes #1587

Root cause

When a local NuGet folder source (source c:/... in paket.dependencies) contains only a symbols package (e.g. PackageName.1.2.3.symbols.nupkg), Paket failed to find/version it:

  • getAllVersionsFromLocalPath in NuGetLocal.fs explicitly filtered out any file ending in .symbols.nupkg before matching versions.
  • The shared parsePackageInfoFromFileName helper in NuGetCache.fs (used by findLocalPackage/tryFindLocalPackage as a fallback lookup) also failed to parse .symbols.nupkg filenames, since its regex expects a bare .nupkg suffix.

Fix

Both functions now strip a trailing .symbols from the filename before matching/parsing package name and version, so a symbols-only package in a local feed resolves identically to its normal counterpart.

Trade-offs

  • Minimal, surgical change scoped to filename parsing; no behavior change for non-symbol packages.
  • Does not change how a *.nupkg and its .symbols.nupkg sibling are disambiguated when both exist (existing filter/precedence for the main .nupkg still applies).

Test Status

  • Added test cases to NuGetLocalSpecs.fs covering .symbols.nupkg filenames for parsePackageInfoFromFileName.
  • dotnet test tests/Paket.Tests/Paket.Tests.fsproj --filter "FullyQualifiedName~NuGetLocalSpecs": net9 target passed (2/2). The net461 target could not execute in this sandbox because mono is not installed (pre-existing infrastructure limitation, unrelated to this change).

Generated by 🌈 Repo Assist, see workflow run. Learn more.
Comment /repo-assist to run again

Add this agentic workflow to your repo

To install this agentic workflow, run

gh aw add githubnext/agentics/workflows/repo-assist.md@ae8d551f07c7ed7619f8c58c7bb4c3ac89395d38

Closes #1587

paket.dependency local folder sources ignored packages whose only
file present was the *.symbols.nupkg variant, because both the
version-listing code in NuGetLocal.fs and the shared
parsePackageInfoFromFileName helper in NuGetCache.fs explicitly
filtered out or failed to parse filenames ending in '.symbols.nupkg'.

This strips the '.symbols' suffix before matching/parsing package
name and version, so a symbol-only local feed entry resolves the
same as its regular counterpart.

🤖 Generated by Repo Assist, an automated AI assistant for this repository.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

paket.dependency local folder source does not recognize package with .symbol. identifier in name

1 participant