diff --git a/.claude/docs/workflows.md b/.claude/docs/workflows.md
index 54d08d393c..773d67aad6 100644
--- a/.claude/docs/workflows.md
+++ b/.claude/docs/workflows.md
@@ -5,6 +5,17 @@
## Common Commands
```bash
+# Build (fast inner loop — use dev solution, separate restore, graph scheduling)
+dotnet restore TUnit.Dev.slnx
+dotnet build TUnit.Dev.slnx --no-restore -graphBuild:True
+
+# Build with centralized output layout
+dotnet build TUnit.Dev.slnx --no-restore -graphBuild:True --artifacts-path artifacts
+
+# Build full solution (CI or pre-commit)
+dotnet restore TUnit.slnx
+dotnet build TUnit.slnx --no-restore -graphBuild:True
+
# Run all tests (excludes TUnit.TestProject)
dotnet test
diff --git a/.github/workflows/dotnet.yml b/.github/workflows/dotnet.yml
index 8da6269d71..ce594ffec1 100644
--- a/.github/workflows/dotnet.yml
+++ b/.github/workflows/dotnet.yml
@@ -125,10 +125,14 @@ jobs:
id: gitversion
uses: gittools/actions/gitversion/execute@v3
+ - name: Restore
+ shell: bash
+ run: dotnet restore TUnit.CI.slnx
+
- name: Build
shell: bash
run: >-
- dotnet build TUnit.CI.slnx -c Release
+ dotnet build TUnit.CI.slnx -c Release --no-restore -graphBuild:True
"-p:Version=${{ steps.gitversion.outputs.semVer }}"
"-p:AssemblyVersion=${{ steps.gitversion.outputs.assemblySemVer }}"
"-p:FileVersion=${{ steps.gitversion.outputs.assemblySemFileVer }}"
diff --git a/Directory.Build.props b/Directory.Build.props
index 53ee2f1295..7064dddf7f 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -31,6 +31,12 @@
enable
enable
preview
+
+ true
+ true
+
+
false
NU1507;NU1903;CS9107
buildTransitive/$(TargetFramework)/
@@ -96,4 +102,16 @@
+
+
+
+ all
+ runtime; build; native; contentfiles; analyzers
+
+
+
\ No newline at end of file
diff --git a/Directory.Packages.props b/Directory.Packages.props
index adfc7a52b4..e2f8fc3aa0 100644
--- a/Directory.Packages.props
+++ b/Directory.Packages.props
@@ -4,10 +4,6 @@
-
- all
- runtime; build; native; contentfiles; analyzers
-
@@ -22,6 +18,7 @@
+
diff --git a/TUnit.Dev.slnx b/TUnit.Dev.slnx
new file mode 100644
index 0000000000..00629adc7f
--- /dev/null
+++ b/TUnit.Dev.slnx
@@ -0,0 +1,66 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+