dotnet-local-tools

Manage per-repo .NET CLI tools via dotnet-tools.json manifests.

1.1k|101|Updated Nov 12, 2025
One-click install
npx skills add https://github.com/Aaronontheweb/dotnet-skills --skill dotnet-local-tools
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: dotnet-local-tools
Source: https://github.com/Aaronontheweb/dotnet-skills/tree/main/skills/local-tools
Command: npx skills add https://github.com/Aaronontheweb/dotnet-skills --skill dotnet-local-tools

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Managing per-repo .NET CLI tools to ensure consistent tool versions across development and CI environments.

Core Features & Use Cases

  • Initialize and pin tooling with a per-project manifest: Use .config/dotnet-tools.json to lock tool versions.
  • Restore tools in CI and local environments: Run dotnet tool restore to install project-local tools.
  • Upgrade or audit tools safely: Update specific tools without affecting global tools and ensure reproducible builds.

Quick Start

Initialize the manifest and restore tools in your project: dotnet new tool-manifest dotnet tool restore

Frequently Asked Questions about dotnet-local-tools

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I pin .NET CLI tool versions across development and CI environments?

You can pin .NET CLI tool versions by initializing a per-repo tool manifest. This creates a .config/dotnet-tools.json file that locks specific tool versions for consistent builds across development and CI environments.

What is a dotnet tool manifest and when do I need it for a multi-project solution?

A dotnet tool manifest is a .config/dotnet-tools.json file that registers project-local .NET CLI tools. You need it for multi-project solutions to ensure CI pipelines and local developers restore identical tool versions automatically.

How do I restore project-local .NET tools in a CI pipeline?

You restore project-local .NET tools in CI by committing the .config/dotnet-tools.json manifest to your repository and executing the dotnet tool restore command in your pipeline to install the exact specified versions.

Does managing per-repo .NET local tools require the .NET SDK?

Yes, managing per-repo .NET local tools requires the .NET SDK. The SDK provides the CLI commands needed to initialize the tool manifest, restore project-local tools, and execute updates safely across environments.

How do I safely update .NET local tools without affecting global installations?

You can safely update .NET local tools without affecting global installations by running dotnet tool update within a repository containing a tool manifest. This restricts changes to the per-repo .config/dotnet-tools.json file.

Why should I use local .NET tools instead of global tools for CI pipelines?

Using local .NET tools instead of global tools ensures reproducible CI pipelines. Local tools rely on a committed manifest to restore exact versions per repository, preventing version drift caused by machine-wide global installations.