Home

xmn / bettertrumpet

publicxammen/BetterTrumpet· sync paused
Overview Code History Branches Pull requestsIssuesInsights
master
HomeOverview Code PRsIssues

build: migrate EarTrumpet to .NET 8 (SDK-style project)

3 months ago

856c2ef
Authored
xammen6/7/2026, 6:52:41 PM
Convert the legacy non-SDK csproj to SDK-style targeting
net8.0-windows10.0.19041.0, restoring GPU-capable WPF as the foundation
for the native DWM backdrop work (Plan 1).

- csproj: SDK-style, auto-glob sources (verified 1:1 with the old explicit
  list), PackageReference instead of packages.config, x86 + Build\Release
  output preserved. In-box net8 assemblies dropped (System.Memory, Text.Json,
  ValueTuple, Immutable, Unsafe, AsyncInterfaces, ...).
- versioning: GitVersionTask 5.5.1 -> GitVersion.MsBuild 5.12.0; manifest
  stamping re-wired via prebuild.ps1.
- CA1416/WFAC010 scoped to NoWarn (Windows-only app, runtime-gated calls;
  WPF owns DPI via App.manifest PerMonitorV2).
- Remove obsolete [HandleProcessCorruptedStateExceptions] (SYSLIB0032).
- Remove legacy App.config (declared .NET 4.6.2, DPI switch ignored on net8,
  redundant binding redirect); DPI now solely via App.manifest.
- DWM plumbing (no behavior change yet): backdrop type, immersive dark mode,
  border color attributes + WindowExtensions helpers for upcoming native
  Mica/Acrylic flyout.

Build green: dotnet build -c Release -p:Platform=x86 (0 errors, 0 warnings),
exe + 32 satellite locales produced. App verified launching and stable.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

Parent3a9c6b0

7 files changed
  • .planning/fluidity-analysis.md+151−0
  • EarTrumpet/App.config+0−15
  • EarTrumpet/DataModel/MediaSessionService.cs+0−2
  • EarTrumpet/EarTrumpet.csproj+91−583
  • EarTrumpet/Extensions/OperatingSystemExtensions.cs+1−0
  • EarTrumpet/Extensions/WindowExtensions.cs+39−0
  • EarTrumpet/Interop/DwmApi.cs+20−1