setup-local-sdk

Installs a project-local .NET SDK and configures global.json paths resolution.

1|Updated Jul 27, 2026
One-click install
npx skills add https://github.com/FittyAr/Cardscape --skill setup-local-sdk-fittyar
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: setup-local-sdk
Source: https://github.com/FittyAr/Cardscape/tree/main/.agents/skills/setup-local-sdk
Command: npx skills add https://github.com/FittyAr/Cardscape --skill setup-local-sdk-fittyar

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Testing .NET preview releases or pinning exact SDK versions normally requires modifying the system-wide installation, which risks breaking other projects. This Skill installs a .NET SDK into a project-local .dotnet/ directory and wires it up through the global.json paths feature (.NET 10+), so the isolated SDK is picked up automatically without touching the global install. ## Core Features & Use Cases - Isolated SDK Installation: Downloads and installs any .NET SDK channel, quality, or exact version into .dotnet/ using the official dotnet-install scripts on macOS, Linux, or Windows. - global.json Configuration: Creates or safely merges the sdk section with version, rollForward, allowPrerelease, and paths settings while preserving existing properties. - Workload & Team Script Support: Installs workloads like MAUI using the local dotnet binary and generates reproducible install-dotnet.sh / install-dotnet.ps1 scripts for team and CI setups. - Use Case: You want to try the latest .NET 11 preview on one repository without affecting your stable system SDK. The Skill installs it locally, pins it in global.json, gitignores .dotnet/, and your system installation stays untouched. ## Quick Start Install the latest .NET 11 preview SDK locally for this project and configure global.json so dotnet commands use it automatically.

Frequently Asked Questions about setup-local-sdk

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

FAQPage Schema
How do I install a .NET SDK locally without affecting the system installation?▼

Run the official dotnet-install script with --install-dir .dotnet to place the SDK in a project-local folder. Then add a paths array containing .dotnet and $host$ to global.json so dotnet commands resolve the local SDK first.

How to test .NET preview versions safely on one project?▼

Install the preview into a local .dotnet directory using --channel and --quality preview flags, then pin the exact version in global.json with allowPrerelease set to true. Deleting the .dotnet folder fully reverts the setup.

Does the global.json paths feature work with older .NET versions?▼

No, the paths feature requires a .NET 10 or later host SDK. If dotnet --version reports a major version below 10, you must install .NET 10 or later system-wide before local SDK resolution can work.

Can I install MAUI workloads on a local .NET SDK?▼

Yes, run workload install using the local binary such as ./.dotnet/dotnet workload install maui-android. Always use the local dotnet because workload metadata is stored relative to the host process, and on Linux the full maui meta-workload is unavailable.

Why is my local .NET SDK not being resolved by dotnet commands?▼

Check that global.json sits at the project root, the paths array lists .dotnet before $host$, and the host dotnet is version 10 or later. A global.json in a parent directory can also override your configuration.

When should I not use a project-local .NET SDK setup?▼

Avoid it for system-wide installs, runtime-only needs since paths applies only to SDK resolution, and hosts running .NET older than version 10. In those cases use the official system installer or set DOTNET_ROOT instead.