nuget-manager
Manage NuGet packages in .NET projects/solutions. Use this skill when adding, removing, or updating NuGet package versions. It enforces using `dotnet` CLI for package management and provides strict procedures for direct file edits only when updating versions.
安装与使用
请根据来源仓库和你的 AI 工具说明安装此技能。先阅读技能文件和依赖要求,再添加到工作流。
查看来源 ↗使用指南技能说明
NuGet Manager
Overview
This skill ensures consistent and safe management of NuGet packages across .NET projects. It prioritizes using the dotnet CLI to maintain project integrity and enforces a strict verification and restoration workflow for version updates.
Prerequisites
- .NET SDK installed (typically .NET 10.0 SDK or later, or a version compatible with the target solution).
-
dotnetCLI available on yourPATH. -
jq(JSON processor) OR PowerShell (for version verification usingdotnet package search).
Core Rules
-
NEVER directly edit
.csproj,.props, orDirectory.Packages.propsfiles to add or remove packages. Always usedotnet add packageanddotnet remove packagecommands. - DIRECT EDITING is ONLY permitted for changing versions of existing packages.
-
VERSION UPDATES must follow the mandatory workflow:
- Verify the target version exists on NuGet.
- Determine if versions are managed per-project (
.csproj) or centrally (Directory.Packages.props). - Update the version string in the appropriate file.
- Immediately run
dotnet restoreto verify compatibility.
Workflows
Adding a Package
Use dotnet add [<PROJECT>] package <PACKAGE_NAME> [--version <VERSION>].
Example: dotnet add src/MyProject/MyProject.csproj package Newtonsoft.Json
Removing a Package
Use dotnet remove [<PROJECT>] package <PACKAGE_NAME>.
Example: dotnet remove src/MyProject/MyProject.csproj package Newtonsoft.Json
Updating Package Versions
When updating a version, follow these steps:
-
Verify Version Existence: Check if the version exists using the
dotnet package searchcommand with exact match and JSON formatting. Usingjq:dotnet package search <PACKAGE_NAME> --exact-match --format json | jq -e '.searchResult[].packages[] | select(.version == "<VERSION>")'Using PowerShell:(dotnet package search <PACKAGE_NAME> --exact-match --format json | ConvertFrom-Json).searchResult.packages | Where-Object { $_.version -eq "<VERSION>" } -
Determine Version Management:
- Search for
Directory.Packages.propsin the solution root. If present, versions should be managed there via<PackageVersion Include="Package.Name" Version="1.2.3" />. - If absent, check individual
.csprojfiles for<PackageReference Include="Package.Name" Version="1.2.3" />.
- Search for
-
Apply Changes: Modify the identified file with the new version string.
-
Verify Stability: Run
dotnet restoreon the project or solution. If errors occur, revert the change and investigate.
Examples
User: "Add Serilog to the PublicAPI project"
Action: Execute dotnet add src/PublicAPI/PublicAPI.csproj package Serilog.
User: "Update System.Text.Json to 10.0.2 in the whole solution"
Action:
- Verify 10.0.2 exists:
dotnet package search System.Text.Json --exact-match --format json(and parse output to confirm "10.0.2" is present). - Find where it's defined (e.g.,
Directory.Packages.props). - Edit the file to update the version.
- Run
dotnet restore.
使用示例
查看来源仓库中的使用示例与配置说明。
查看来源 ↗来源历史
- 收录时间
- 2026-03-11
- 索引更新时间
- 2026-03-11
- Branch
- main
收录与同步日期属于本站记录。源码修改历史请查看来源仓库。
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!