Template
Introduces new markdown files detailing editing rules for ADRs, guidelines for analyzer and style configuration, and best practices for observability and feature flags. These documents aim to ensure consistency and clarity in project documentation and code quality. Co-authored-by: Copilot <copilot@github.com>
29 lines
1.3 KiB
Markdown
29 lines
1.3 KiB
Markdown
---
|
|
description: "Use when adding, removing, or moving projects, or when editing the solution file or VS Code workspace."
|
|
applyTo: "*.slnx,*.sln,Solution.code-workspace"
|
|
---
|
|
# Solution Conventions
|
|
|
|
`Solution.slnx` (XML) is the canonical solution format. The legacy `.sln` is not used; do not regenerate it.
|
|
|
|
## Adding & Removing Entries
|
|
|
|
Any project, configuration, or asset file added to, removed from, or renamed in a tracked location **must** be reflected in `Solution.slnx` in the same commit. New top-level folders also require an entry in `Solution.code-workspace`.
|
|
|
|
Place entries in the virtual folder matching the on-disk location:
|
|
|
|
| On-disk location | Virtual folder |
|
|
| --- | --- |
|
|
| `src/**`, `samples/**`, `tests/**` (projects + their `Directory.Build.props`) | `/src/`, `/samples/`, `/tests/` |
|
|
| Repo-root config files (`.editorconfig`, `Directory.*.props`, `GitVersion.yml`, etc.) | `/Configuration/` |
|
|
| Repo-root assets (`README.md`, `LICENSE.md`, `icon.png`, logos) | `/Assets/` |
|
|
|
|
Reserved virtual folder names must not be renamed.
|
|
|
|
## Renames
|
|
|
|
- Update the `.slnx` entry, the on-disk path, and any `ProjectReference` paths in dependent projects in the same commit.
|
|
- Never leave dangling `<File Path="…" />` or project entries.
|
|
|
|
After any `.slnx` change, run `dotnet build` to confirm all referenced projects load.
|