dotnet-project-structure

Set up a .NET solution with .slnx, centralized build props, and SDK pinning.

1|Updated Mar 20, 2026
One-click install
npx skills add https://github.com/afonsoft/VideoChat --skill dotnet-project-structure-afonsoft
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: dotnet-project-structure
Source: https://github.com/afonsoft/VideoChat/tree/main/.agents/skills/dotnet-project-structure
Command: npx skills add https://github.com/afonsoft/VideoChat --skill dotnet-project-structure-afonsoft

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) components.

What problem does it solve?

Modern teams face friction from inconsistent solution layouts, missing centralized build configuration, and divergent SDK pinning across projects; this skill provides a blueprint for a unified, scalable .NET project structure.

Core Features & Use Cases

  • Centralized build configuration via Directory.Build.props and Directory.Packages.props to ensure consistent properties and dependencies across multiple projects.
  • .slnx migration and usage, SDK pinning with global.json, and SourceLink integration to enable reliable debugging and reproducible builds.
  • Release-note driven version management using RELEASE_NOTES.md and automation scripts for version bumps and packaging.

Quick Start

Configure a new or existing .NET solution to adopt a .slnx layout, add central props and package management, pin the SDK with global.json, and enable SourceLink to streamline debugging.

Frequently Asked Questions about dotnet-project-structure

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

FAQPage Schema
How do I centralize build properties and dependencies across multiple .NET projects?

To set up centralized package management, you add Directory.Packages.props and Directory.Build.props files to your solution root. This enforces consistent dependency versions and shared build properties across all projects within the solution.

What is .slnx and how does it improve a .NET solution layout?

The .slnx format provides a modern, streamlined solution layout for .NET projects. Migrating to .slnx standardizes your solution scaffold, reducing friction and improving scalability for multi-project repositories.

How do I pin the .NET SDK version for reproducible CI workflows?

You pin the .NET SDK version by adding a global.json file to your repository root. This ensures all developers and CI pipelines use the exact same SDK version, guaranteeing reproducible builds across environments.

How do I enable SourceLink integration for .NET debugging?

SourceLink integration is enabled by configuring specific package references and properties within your centralized build configuration. This links assemblies to source control during builds, enabling reliable source-level debugging.

How does RELEASE_NOTES.md work for automated .NET versioning?

RELEASE_NOTES.md drives release-note driven version management by parsing the file to determine version increments. Automation scripts then use these notes to apply version bumps and package updates consistently across projects.

Does this .NET project structure work for existing solutions or only new ones?

This structure applies to both new and existing .NET solutions. It provides directives to migrate existing setups to .slnx, add central package management, and establish consistent build properties without starting from scratch.