
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-codeInstalls 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.jsonmicrosoft-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) |
|---|---|---|
| Format | Custom text format | Standard XML |
| Readability | GUIDs, cryptic syntax | Clean, human-readable |
| Version control | Hard to diff/merge | Easy to diff/merge |
| Editing | IDE required | Any 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- Api Design690
- Type Design Performance684
- Ilspy Decompile640
- Package Management613
- Microsoft Extensions Configuration609
- Serialization596
- Crap Analysis581
- Dotnet Slopwatch580
- Testcontainers Integration Tests579
- Playwright Blazor Testing560
- Dotnet Local Tools550
- Aspire Integration Testing522
- Mjml Email Templates513
- Aspire Service Defaults497
- Aspire Configuration487
- Snapshot Testing484
- Dotnet Devcert Trust457
- Skills Index Snippets456
- Playwright Ci Caching455
- Akka Net Best Practices451
- Mailpit Integration443
- Verify Email Snapshots436
- Akka Hosting Actor Patterns434
- Akka Net Testing Patterns431