Dependencies for Running dotnet/skills: Complete Prerequisites Guide
The dotnet/skills repository requires .NET SDK 11 (preview), GitHub CLI authentication, and NuGet package restoration to build and execute the skill validator and plugin collection.
The dotnet/skills codebase is a collection of .NET plugins and a custom skill-validator written entirely in C#. Understanding the dependencies for running dotnet/skills is essential before compiling the projects or executing the validator against specific plugins.
Core Prerequisites for dotnet/skills
.NET SDK Version Requirements
According to the source code, all projects target the SDK version defined in global.json. This file pins the required .NET SDK to version 11.0.100-preview.3 or later. The SDK provides the dotnet CLI, build tools, and runtime necessary to compile and execute the plugins and validator.
GitHub CLI Authentication
The CONTRIBUTING.md file specifies that users must install the GitHub CLI (gh) and authenticate using gh auth login. This authentication is required because CI workflows may pull private artifacts or authenticate against the GitHub API during test execution.
Build and Runtime Dependencies
NuGet Package Restoration
Each plugin’s .csproj files declare specific package dependencies such as Microsoft.EntityFrameworkCore, MSTest, and coverlet.collector. These are automatically restored when running dotnet restore. For example, the dotnet-upgrade test project located at tests/dotnet-upgrade/migrate-nullable-references/fixtures/nrt-enabled/NrtEnabled.csproj references these packages.
The Skill Validator Executable
The dotnet-run-validator is a .NET console application located under eng/skill-validator/src. It serves as the entry point for validating skills and is built using dotnet build and executed with dotnet run. The project file eng/skill-validator/src/SkillValidator.csproj defines the executable’s dependencies.
Optional and Plugin-Specific Dependencies
Some plugins require additional tooling beyond the core SDK. The individual plugin READMEs under plugins/ document these requirements:
- Docker for container-related tests
- Entity Framework tooling for database migrations
- dotnet watch for hot-reload scenarios
For example, the dotnet-msbuild plugin README specifies any extra MSBuild-related prerequisites.
Step-by-Step Setup Workflow
- Verify the .NET SDK version matches the
global.jsonconstraint:
dotnet --list-sdks # verify 11.0.100-preview.3+ is present
- Install and authenticate the GitHub CLI:
gh auth login
- Restore NuGet packages and build the skill-validator:
dotnet restore eng/skill-validator/src/SkillValidator.csproj
dotnet build eng/skill-validator/src/SkillValidator.csproj
- Run the validator against a specific plugin:
dotnet run --project eng/skill-validator/src/SkillValidator.csproj \
-- evaluate --tests-dir tests/dotnet-msbuild plugins/dotnet-msbuild/skills/common-build-errors
Summary
- .NET SDK 11 (preview) is required as specified in
global.json - GitHub CLI must be installed and authenticated via
gh auth login - NuGet packages are restored automatically via
dotnet restorebased on individual.csprojfiles - The skill-validator executable is located at
eng/skill-validator/src/SkillValidator.csproj - Optional dependencies like Docker or EF Core are documented in individual plugin READMEs under
plugins/
Frequently Asked Questions
What version of the .NET SDK do I need for dotnet/skills?
The repository requires .NET SDK version 11.0.100-preview.3 or later, as pinned in the global.json file. This preview SDK provides the necessary runtime and build tools for the C# projects.
Is GitHub CLI required just to build the code?
Yes, according to the CONTRIBUTING.md documentation, gh auth login is required because the CI workflow and some tests may need to authenticate against the GitHub API or pull private artifacts.
Where is the skill validator located and how do I run it?
The skill validator is a console application located at eng/skill-validator/src/SkillValidator.csproj. You build and run it using standard dotnet commands: dotnet build followed by dotnet run --project eng/skill-validator/src/SkillValidator.csproj.
Do I need Docker or Entity Framework tools for all plugins?
No, these are optional dependencies required only by specific plugins. Each plugin’s README under the plugins/ directory documents any additional tooling requirements such as Docker for container tests or EF Core tooling for database migrations.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →