project-structure

Centralize .NET build settings and package versions with Directory.Build.props and Directory.Packages.props.

1|Updated Mar 27, 2026
One-click install
npx skills add https://github.com/Maj3D10/Training-Platform --skill project-structure-maj3d10
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: project-structure
Source: https://github.com/Maj3D10/Training-Platform/tree/main/.agent/skills/project-structure
Command: npx skills add https://github.com/Maj3D10/Training-Platform --skill project-structure-maj3d10

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Standardizing .NET solution and project structure prevents drift in build settings, inconsistent package versioning, and tangled source/test organization that slows onboarding and maintenance.

Core Features & Use Cases

  • Central package management: Manage NuGet versions in a single Directory.Packages.props so .csproj files stay version-free and consistent across projects.
  • Shared build properties: Use Directory.Build.props for common settings like target framework, nullable, implicit usings, and warning policies.
  • Solution layout conventions: Adopt .slnx, keep source in src/ and tests in tests/, and follow clear naming conventions for projects and namespaces.

Quick Start

Tell the AI: "Load the project-structure skill and generate a new .NET solution layout using .slnx with Directory.Build.props and Directory.Packages.props, placing production code under src/ and tests under tests/."

Frequently Asked Questions about project-structure

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

FAQPage Schema
How do I centralize NuGet package versions across multiple .NET projects?

You can centralize NuGet package versions by using a Directory.Packages.props file, which keeps all .csproj files version-free and ensures consistent package references across the entire .NET solution.

What is the best way to share common MSBuild properties in a .NET solution?

Sharing common MSBuild properties is best done using Directory.Build.props to define settings like target framework, nullable, implicit usings, and warning policies globally, reducing duplication across projects.

How do I set up a clean .NET solution layout with src and tests folders?

You can set up a clean .NET solution layout by adopting .slnx, keeping production code under src/ and tests under tests/, and following clear naming conventions for projects and namespaces.

Does central package management work when refactoring existing .NET project structures?

Yes, central package management works for refactoring existing .NET project structures by configuring build properties, adding projects, and enforcing conventions to reduce version drift and duplication.

Why does my .NET solution have inconsistent build settings across projects?

Inconsistent build settings occur when projects lack centralized configuration, which you can solve by applying Directory.Build.props to enforce common settings like target framework and warning policies globally.

Can I use .slnx to organize my .NET solution structure?

Yes, you can use .slnx to organize your .NET solution structure, applying it alongside Directory.Build.props and Directory.Packages.props to establish consistent src/tests separation and naming conventions.