dotnet-cli-distribution

Compare .NET CLI packaging strategies and plan Runtime Identifier matrices.

10|Updated Jan 28, 2026
One-click install
npx skills add https://github.com/AGIBuild/Agibuild.Fulora --skill dotnet-cli-distribution
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: dotnet-cli-distribution
Source: https://github.com/AGIBuild/Agibuild.Fulora/tree/main/.cursor/skills/dotnet-cli-distribution
Command: npx skills add https://github.com/AGIBuild/Agibuild.Fulora --skill dotnet-cli-distribution

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill helps you choose the most effective way to distribute your .NET command-line interface (CLI) applications, balancing startup time, binary size, and deployment complexity.

Core Features & Use Cases

  • Distribution Strategy Selection: Guides you through Native AOT single-file, framework-dependent, self-contained, and dotnet tool packaging.
  • RID Matrix Planning: Details common and extended Runtime Identifiers for cross-platform targeting.
  • Size Optimization: Provides techniques for reducing binary size through trimming and AOT-specific configurations.
  • Use Case: You need to release a new CLI tool for developers. This Skill will help you decide whether to package it as a dotnet tool for easy installation or as a Native AOT single-file executable for maximum performance and zero dependencies.

Quick Start

Use the dotnet-cli-distribution skill to determine the best publish strategy for a new .NET 8 CLI application targeting Linux, macOS, and Windows.

Frequently Asked Questions about dotnet-cli-distribution

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

FAQPage Schema
What is the best way to distribute a .NET CLI application for cross-platform targets?

The best way to distribute a .NET CLI depends on your priorities: Native AOT single-file for maximum performance, framework-dependent for minimal size, self-contained for isolated execution, or `dotnet tool` packaging for easy developer installation.

How do I plan a Runtime Identifier (RID) matrix for publishing a .NET CLI?

Plan your RID matrix by identifying target platforms like linux-x64, osx-arm64, and win-x64, then configuring your publish profiles to generate the corresponding platform-specific binaries or self-contained executables for each runtime identifier.

Native AOT vs self-contained deployment: which should I choose for my .NET CLI?

Choose Native AOT for faster startup and smaller single-file binaries without runtime dependencies, or opt for self-contained deployment when you need the full .NET runtime capabilities and broader compatibility across different environments.

How do I reduce the binary size of a Native AOT single-file .NET executable?

Reduce Native AOT binary size by applying trimming to remove unused code, configuring AOT-specific optimization settings, and ensuring your application dependencies are properly annotated for static analysis during the publish process.

When should I package my .NET CLI as a dotnet tool instead of a standalone executable?

Package your .NET CLI as a `dotnet tool` when targeting developers who need easy installation via the dotnet CLI, rather than distributing standalone executables when users require zero runtime dependencies or maximum startup performance.

Does Native AOT single-file deployment work across linux-x64, osx-arm64, and win-x64 targets?

Yes, Native AOT single-file deployment supports cross-platform targeting across linux-x64, osx-arm64, and win-x64, allowing you to generate architecture-specific binaries that run without requiring the .NET runtime installed on the host machine.