Fix outdated command missing packages, improve output formatting#21
Draft
Fix outdated command missing packages, improve output formatting#21
Conversation
…llback, fix version lookup, fix null TFM handling, improve output formatting Co-authored-by: dlosch <318550+dlosch@users.noreply.github.com>
…test null handling Co-authored-by: dlosch <318550+dlosch@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Make tool production ready with improved outputs and performance
Fix outdated command missing packages, improve output formatting
Feb 28, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The
outdatedcommand silently skipped packages due to several bugs in version resolution. Console and markdown table output had inconsistent formatting.Bug fixes — missing packages
Premature prerelease fallback in
NuGetMetadataService: Agoto retryinside the version iteration loop switched to prerelease mode the moment a single stable version failed the framework check, skipping all older compatible stable versions entirely. Removed the innergoto; the existing post-loop fallback handles this correctly.KeyNotFoundExceptionin version lookup: Direct dictionary indexer onTargetFrameworkVersionsthrew when the exactNuGetFrameworkkey wasn't present (e.g., framework normalization differences). Replaced withTryGetValue+ fallback to highest available version.Min()on empty sequence: When all package version strings were unparseable,currentMincomputation crashed. Now guards with an early-out warning.PackageInfoComparernullTargetFrameworks: Equality check short-circuited tofalsewhen either side had nullTargetFrameworks, causing duplicate container entries and missed updates.Output improvements
Current/Latest/Target/Reason)Cleanup
// no support for slnxcomment (slnx was supported)System.Net.NetworkInformation,System.Linq)result.TargetFrameworkVersionsTests
13 new tests covering
PackageInfoComparernull handling,MarkdownTableFormatteralignment/escaping, andNuGetMetadataServicestable-version preference. All 115 tests pass.💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.