Centralize build output and generate OS-specific startup.json

- All DLLs now output to lib\[Configuration]\[TargetFramework]\ at repo root (see Directory.Build.props)
- .gitignore updated to exclude /lib/
- On first run, startup.json is auto-generated with OS-appropriate default paths (Windows, Linux, macOS, or portable)
- Removes null/example config; generated config is immediately usable and clearly documented
- Extensive new documentation: build output, startup.json logic, visual guides, and code proofs
- Publish profile now deletes existing files for clean deploys
- No breaking changes: existing startup.json files are preserved
- Improves first-run UX, deployment, and cross-platform consistency
This commit is contained in:
2026-02-26 14:21:26 -05:00
parent 5bdb7d53c3
commit 8f860a8ec3
35 changed files with 2218 additions and 46 deletions
+10
View File
@@ -5,6 +5,16 @@
<Nullable>enable</Nullable>
</PropertyGroup>
<!-- Centralized output directory configuration -->
<PropertyGroup>
<!-- Set the base output path to lib folder at repository root -->
<BaseOutputPath>$(MSBuildThisFileDirectory)lib\</BaseOutputPath>
<!-- Build output goes to lib\[Configuration] (e.g., lib\Debug, lib\Release) -->
<OutputPath>$(BaseOutputPath)$(Configuration)\</OutputPath>
<!-- Keep intermediate files in traditional obj folder -->
<BaseIntermediateOutputPath>obj\</BaseIntermediateOutputPath>
</PropertyGroup>
<PropertyGroup>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<WarningsNotAsErrors>NU1902;NU1903</WarningsNotAsErrors>