dotnet-dependency

Investigate and manage .NET project dependencies using built-in dotnet CLI commands.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "dotnet-dependency" with this command: npx skills add nikiforovall/github-copilot-rules/nikiforovall-github-copilot-rules-dotnet-dependency

.NET Dependencies

Investigate and manage .NET project dependencies using built-in dotnet CLI commands.

When to Use This Skill

Invoke when the user needs to:

  • Search for NuGet packages or find latest versions

  • Add, update, or remove package references

  • Understand why a specific NuGet package is included

  • List all project dependencies (NuGet packages or project references)

  • Find outdated or vulnerable packages

  • Trace transitive dependencies

  • Manage dotnet tools (search, install, update)

Quick Reference

Command Purpose

dotnet package search <term>

Search NuGet for packages

dotnet package search <name> --exact-match

List all versions of a package

dotnet add package <id>

Add/update package to latest version

dotnet add package <id> -v <ver>

Add/update package to specific version

dotnet remove package <id>

Remove package reference

dotnet nuget why <package>

Show dependency graph for a package

dotnet list package

List NuGet packages

dotnet list package --include-transitive

Include transitive dependencies

dotnet list reference --project <project>

List project-to-project references

dotnet list package --outdated

Find packages with newer versions

dotnet list package --vulnerable

Find packages with security issues

dotnet outdated

(Third-party) Check outdated packages

dotnet outdated -u

(Third-party) Auto-update packages

dotnet tool search <term>

Search for dotnet tools

dotnet tool update <id>

Update local tool to latest

dotnet tool update --all

Update all local tools

Search NuGet Packages

Find packages and check latest versions directly from CLI:

Search for packages by keyword

dotnet package search Serilog --take 5

Find latest version of a specific package

dotnet package search Aspire.Hosting.AppHost --take 1

Include prerelease versions

dotnet package search ModelContextProtocol --prerelease --take 3

List ALL available versions of a package (version history)

dotnet package search Newtonsoft.Json --exact-match

JSON output for scripting

dotnet package search Serilog --format json --take 3

Add and Update Packages

Add package (installs latest stable version)

dotnet add package Serilog

Add specific version

dotnet add package Serilog -v 4.0.0

Add prerelease version

dotnet add package ModelContextProtocol --prerelease

Add to specific project

dotnet add src/MyProject/MyProject.csproj package Serilog

Update existing package to latest (same command as add)

dotnet add package Serilog

Remove package

dotnet remove package Serilog

Note: dotnet add package both adds new packages and updates existing ones to the specified (or latest) version.

Manage Dotnet Tools

Search for tools

dotnet tool search dotnet-outdated --take 3

Update a local tool (from manifest)

dotnet tool update cake.tool

Update with prerelease

dotnet tool update aspire.cli --prerelease

Update all local tools

dotnet tool update --all

Update global tool

dotnet tool update -g dotnet-ef

Investigate Package Dependencies

To understand why a package is included in your project:

Why is this package included?

dotnet nuget why Newtonsoft.Json

For a specific project

dotnet nuget why path/to/Project.csproj Newtonsoft.Json

For a specific framework

dotnet nuget why Newtonsoft.Json --framework net8.0

Output shows the complete dependency chain from your project to the package.

List NuGet Packages

Direct dependencies only

dotnet list package

Include transitive (indirect) dependencies

dotnet list package --include-transitive

For a specific project

dotnet list package --project path/to/Project.csproj

JSON output for scripting

dotnet list package --format json

List Project References

List project-to-project references

dotnet list reference --project path/to/Project.csproj

Transitive Project References

No built-in command shows transitive project dependencies. To find if Project A depends on Project B transitively:

  • Recursive approach: Run dotnet list reference on each referenced project

  • Parse .csproj files: Search for <ProjectReference> elements recursively:

Find all ProjectReference elements

grep -r "ProjectReference" --include="*.csproj" .

Update Dependencies

Using dotnet outdated (Third-party)

If installed (dotnet tool install -g dotnet-outdated-tool ):

Check for outdated packages

dotnet outdated

Auto-update to latest versions

dotnet outdated -u

Update only specific packages

dotnet outdated -u -inc PackageName

Using built-in commands

Check for outdated packages

dotnet list package --outdated

Include prerelease versions

dotnet list package --outdated --include-prerelease

Progressive Disclosure

For security auditing (vulnerable, deprecated, outdated packages), load references/security-audit.md.

References

  • dotnet package search

  • dotnet add package

  • dotnet remove package

  • dotnet nuget why

  • dotnet list reference

  • dotnet list package

  • dotnet tool

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

glab

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

spec-driven

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

structured-plan-mode

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

nano-banana-prompting

No summary provided by upstream source.

Repository SourceNeeds Review