aaronontheweb avatar

Dotnet Project Structure

This covers the modern .NET project setup that Microsoft has been pushing since .NET 9, particularly the new .slnx XML solution format that actually makes sense in version control. You get the full picture: Directory.Build.props for centralizing compiler settings and metadata, Directory.Packages.props for managing NuGet versions in one place instead of scattered across dozens of csproj files, SourceLink configuration for debugging into your published packages, and global.json for pinning SDK versions. The migration guidance from .sln to .slnx is solid, including the critical warning about not keeping both formats around. If you're still manually updating version numbers in individual project files or dealing with merge conflicts in those old GUID-riddled .sln files, this is your blueprint for fixing it.

skills.sh installs
692
GitHub stars
1.3K
last updated
Aug 21, 2026

Install

$ npx -y skills add aaronontheweb/dotnet-skills --skill dotnet-project-structure --agent claude-code

Installs into .claude/skills of the current project.

Files

.NET Project Structure and Build Configuration

When to Use This Skill

Use this skill when:

  • Setting up a new .NET solution with modern best practices
  • Configuring centralized build properties across multiple projects
  • Implementing central package version management
  • Setting up SourceLink for debugging and NuGet packages
  • Automating version management with release notes
  • Pinning SDK versions for consistent builds

Related Skills

  • dotnet-local-tools - Managing local .NET tools with dotnet-tools.json
  • microsoft-extensions-configuration - Configuration validation patterns

Solution File Format (.slnx)

The .slnx format is the modern XML-based solution file format introduced in .NET 9. It replaces the traditional .sln format.

Benefits Over Traditional .sln

Aspect.sln (Legacy).slnx (Modern)
FormatCustom text formatStandard XML
ReadabilityGUIDs, cryptic syntaxClean, human-readable
Version controlHard to diff/mergeEasy to diff/merge
EditingIDE requiredAny text editor

Version Requirements

Sponsors

Details

Repository
github.com/aaronontheweb/dotnet-skills
Categories
DevOps & CI/CD, Code Review & Quality, Release Management, .NET & C#
First seen
Jun 3, 2026

More from aaronontheweb/dotnet-skills

All 34
1joellewis avatarpost-trade-compliancejoellewis/finance_skillsGuide post-trade compliance monitoring and trade surveillance system design. Use when building alert logic to detect churning, front-running, cherry-picking, la691skills.sh installs
2cap-go avatarionic-appflow-migrationcap-go/capgo-skillsGuides the agent through migrating an existing Ionic or Capacitor project away from Ionic Appflow. Use when detecting Appflow live updates, cloud builds, or sto690skills.sh installs
3zhinkgit avatarworkflowzhinkgit/embeddedskillsembeddedskills 的薄编排层,用于在当前 workspace 中发现工程、选择 build/flash/debug/observe 后端、串联 .embeddedskills/state.json,并聚合底层 skill 的结果。 当用户明确输入以下命令之一:"一键构建烧录"、"自动诊断"、"串起 buil689skills.sh installs
4davila7 avatarai-agents-architectdavila7/claude-code-templatesExpert in designing and building autonomous AI agents. Masters tool use, memory systems, planning strategies, and multi-agent orchestration. Use when: build age688skills.sh installs
5mindrally avatarnetlify-developmentmindrally/skillsNetlify development best practices for serverless functions, edge functions, Blobs storage, build configuration, and deployment workflows.688skills.sh installs
6mukul975 avataracquiring-disk-image-with-dd-and-dcflddmukul975/anthropic-cybersecurity-skillsCreate forensically sound bit-for-bit disk images with dd or dcfldd on a Linux forensic workstation, preserving evidence integrity through hash verification (MD688skills.sh installs