ln-712-nuget-upgrader
0
总安装量
20
周安装量
安装命令
npx skills add https://github.com/levnikolaevich/claude-code-skills --skill ln-712-nuget-upgrader
Agent 安装分布
claude-code
16
antigravity
11
codex
11
cursor
11
gemini-cli
11
Skill 文档
Paths: File paths (
shared/,references/,../ln-*) are relative to skills repo root. If not found at CWD, locate this SKILL.md directory and go up one level for repo root.
ln-712-nuget-upgrader
Type: L3 Worker Category: 7XX Project Bootstrap Parent: ln-710-dependency-upgrader
Upgrades .NET NuGet packages with automatic breaking change detection and migration.
Overview
| Aspect | Details |
|---|---|
| Input | Solution/project path |
| Output | Updated .csproj files, migration report |
| Supports | .NET 6, 7, 8, 9, 10 |
Workflow
See diagram.html for visual workflow.
Phases: Pre-flight â Find Projects â Security Audit â Check Outdated â Identify Breaking â Apply Upgrades â Restore & Build â Report
Phase 0: Pre-flight Checks
| Check | Required | Action if Missing |
|---|---|---|
| .csproj file(s) | Yes | Block upgrade |
| .sln file | No | Use csproj discovery instead |
Workers assume coordinator (ln-710) already verified git state and created backup.
Phase 1: Find Projects
Discovery Methods
| Method | Command |
|---|---|
| Find .csproj | Get-ChildItem -Recurse -Filter *.csproj |
| From solution | dotnet sln list |
Phase 2: Security Audit
Commands
| Check | Command |
|---|---|
| Vulnerable packages | dotnet list package --vulnerable |
| Outdated packages | dotnet list package --outdated |
Actions
| Severity | Action |
|---|---|
| Critical | Block upgrade, report |
| High | Warn, continue |
| Moderate/Low | Log only |
Phase 3: Check Outdated
Using dotnet-outdated
| Step | Command |
|---|---|
| Install tool | dotnet tool install --global dotnet-outdated-tool |
| Check | dotnet outdated --output json |
Phase 4: Identify Breaking Changes
Detection
- Compare current vs latest major versions
- Check breaking_changes_patterns.md
- Use MCP tools (see below) for migration guides
Common Breaking Changes
| Package | Breaking Version | Key Changes |
|---|---|---|
| Microsoft.EntityFrameworkCore | 8 â 9 | Query changes, migration format |
| Serilog.AspNetCore | 7 â 8 | Configuration format |
| Swashbuckle.AspNetCore | 6 â 7 | Minimal API support |
MCP Tools for Migration Search
Priority Order (Fallback Strategy)
| Priority | Tool | When to Use |
|---|---|---|
| 1 | mcp__context7__query-docs | First choice for library docs |
| 2 | mcp__Ref__ref_search_documentation | Official Microsoft docs |
| 3 | WebSearch | Latest info, community solutions |
Context7 Usage
| Step | Tool | Parameters |
|---|---|---|
| 1. Find library | mcp__context7__resolve-library-id | libraryName: “EntityFrameworkCore” |
| 2. Query docs | mcp__context7__query-docs | query: “EF Core 8 to 9 migration breaking changes” |
MCP Ref Usage
| Action | Tool | Query Example |
|---|---|---|
| Search | mcp__Ref__ref_search_documentation | “dotnet EntityFrameworkCore 9 migration guide” |
| Read | mcp__Ref__ref_read_url | URL from search results |
WebSearch Fallback
Use when Context7/Ref return no results:
"<package> .NET <version> breaking changes migration""<error code> <package> fix"
Phase 5: Apply Upgrades
Priority Order
| Priority | Package Type |
|---|---|
| 1 | SDK/Runtime (Microsoft.NET.Sdk) |
| 2 | Framework (Microsoft.AspNetCore.*) |
| 3 | EF Core (affects migrations) |
| 4 | Logging (Serilog.*) |
| 5 | Other packages |
Commands
| Action | Command |
|---|---|
| Update specific | dotnet add package <name> --version <ver> |
| Update all | dotnet outdated --upgrade |
Phase 6: Restore & Build
Commands
| Step | Command |
|---|---|
| Restore | dotnet restore |
| Build | dotnet build --configuration Release |
| Test | dotnet test |
On Failure
- Identify failing package from error
- Search Context7/Ref for migration guide
- If unresolved: rollback package, continue
Phase 7: Report Results
Report Schema
| Field | Description |
|---|---|
| solution | Solution path |
| projects[] | Updated projects |
| duration | Total time |
| upgrades[] | Applied upgrades |
| buildVerification | PASSED or FAILED |
| testResults | X passed, Y failed |
Configuration
Options:
# Upgrade scope
upgradeType: major # major | minor | patch
# Security
auditLevel: high
minimumReleaseAge: 14
# .NET specific
includePrerelease: false
targetFramework: net10.0
# Verification
runTests: true
runBuild: true
Error Handling
| Error | Cause | Solution |
|---|---|---|
| CS0246 | Missing type | Search for replacement API |
| NU1605 | Downgrade detected | Check package constraints |
| Build fail | Breaking change | Apply migration via Context7 |
References
Definition of Done
- All .csproj files discovered (via solution or recursive scan)
- Security audit completed (
dotnet list package --vulnerable) - Outdated packages identified via dotnet-outdated
- Breaking changes detected via breaking_changes_patterns.md and MCP tools
- Upgrades applied in priority order (SDK > Framework > EF Core > other)
dotnet restore,dotnet build,dotnet testall pass- Report returned with projects updated, upgrades applied, and build/test status
Version: 1.1.0 Last Updated: 2026-01-10