Skip to main content

nuget-manager

This skill ensures consistent and safe management of NuGet packages across .NET Use when this capability is needed.

跳到安装

来源信息

仓库
tomevault-io/skills-registry
最近来源活动
2026年4月28日 22:53
检测到的 SKILL.md 语言
英语
星标
1
分支
0

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

文件资源管理器
2 个文件

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
name
nuget-manager
description
This skill ensures consistent and safe management of NuGet packages across .NET Use when this capability is needed.
metadata
{"author":"alexandereiseghohi"}
# 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 8.0 SDK or later, or a version compatible with the target solution). - `dotnet` CLI available on your `PATH`. - `jq` (JSON processor) OR PowerShell (for version verification using `dotnet package search`). ## Core Rules 1. **NEVER** directly edit `.csproj`, `.props`, or `Directory.Packages.props` files to **add** or **remove** packages. Always use `dotnet add package` and `dotnet remove package` commands. 2. **DIRECT EDITING** is ONLY permitted for **changing versions** of existing packages. 3. **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 restore` to 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: 1. **Verify Version Existence**: Check if the version exists using the `dotnet package search` command with exact match and JSON formatting. Using `jq`: `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>" }` 2. **Determine Version Management**: - Search for `Directory.Packages.props` in the solution root. If present, versions should be managed there via `<PackageVersion Include="Package.Name" Version="1.2.3" />`. - If absent, check individual `.csproj` files for `<PackageReference Include="Package.Name" Version="1.2.3" />`. 3. **Apply Changes**: Modify the identified file with the new version string. 4. **Verify Stability**: Run `dotnet restore` on the project or solution. If errors occur, revert the change and investigate. ## Examples ### User: "Add Serilog to the WebApi project" **Action**: Execute `dotnet add src/WebApi/WebApi.csproj package Serilog`. ### User: "Update Newtonsoft.Json to 13.0.3 in the whole solution" **Action**: 1. Verify 13.0.3 exists: `dotnet package search Newtonsoft.Json --exact-match --format json` (and parse output to confirm "13.0.3" is present). 2. Find where it's defined (e.g., `Directory.Packages.props`). 3. Edit the file to update the version. 4. Run `dotnet restore`. --- > Converted and distributed by [TomeVault](https://tomevault.io/claim/alexandereiseghohi) — claim your Tome and manage your conversions. <!-- tomevault:4.0:skill_md:2026-04-15 -->
在 GitHub 查看