L5: WinForms vollstaendig entfernt - das Projekt ist plattformneutral

Die Avalonia-Shell hatte in L4 Funktionsgleichheit erreicht, damit ist die
WinForms-Fassung ueberfluessig. Entfernt: IBKRTrader.App.csproj, Program.cs,
LauncherForm.cs, UI/ (14 Dateien) und Properties/Resources.* - zusammen rund
1.900 Zeilen. Rueckfallpunkt bleibt der Tag winforms-final.

Resources/ mit den 24 PNG-Symbolen bleibt: die Avalonia-Shell bindet sie
ueber AvaloniaResource ein und nutzt dieselben Symbolschluessel.

Kein Projekt traegt mehr eine Plattformbindung. Verifiziert: alle acht
Projekte bauen einzeln fuer linux-x64, und die gesamte Projektmappe baut
ohne Fehler und ohne Warnung.

Die CI kann damit vereinfacht werden: der Behelf aus L4 - unter Linux die
Projekte einzeln statt der Mappe zu bauen, weil IBKRTrader.App dort nicht
baubar war - entfaellt. Beide Plattformen bauen und testen jetzt dieselbe
Mappe.

Doku nachgezogen: README (Architektur-Uebersicht, Start- und Pruefbefehle),
ARCHITECTURE (Ziel-Architektur auf den Ist-Stand, neuer Abschnitt L0-L5 in
der Phasen-Checkliste, AppTimeZone ergaenzt). Der Hinweis "UI-Contract liegt
im Core" war nach L1a falsch - WindowMenu ist dort raus, der Contract ist
jetzt toolkit-neutral.

Verifiziert: Build 0 Fehler/0 Warnungen, 193 Tests gruen, Smoke-UI
konstruiert alle 7 Ansichten + Launcher + Dialog, Daemon-Prueflauf OK.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Richard
2026-08-07 10:35:01 +02:00
co-authored by Claude Opus 5
parent 3513a0b2d9
commit d86a083438
23 changed files with 68 additions and 2082 deletions
+9 -15
View File
@@ -30,22 +30,16 @@ jobs:
with:
dotnet-version: '10.0.x'
# Windows: die gesamte Projektmappe, inklusive der alten WinForms-Shell.
- name: Build (Windows, gesamte Mappe)
if: matrix.os == 'windows-latest'
run: |
dotnet build IBKRTrader.slnx -c Release
dotnet test IBKRTrader.slnx --no-build -c Release --logger "trx;LogFileName=test-results.trx"
# Die gesamte Projektmappe baut auf beiden Plattformen seit die WinForms-Shell
# entfernt ist, gibt es kein Projekt mehr mit Windows-Bindung.
- name: Restore
run: dotnet restore IBKRTrader.slnx
# Linux: alles AUSSER IBKRTrader.App (WinForms, net10.0-windows) das lässt sich hier
# naturgemäß nicht bauen. Diese Aufzählung entfällt, sobald die WinForms-Shell aus dem
# Build genommen wird; dann baut auch hier wieder die ganze Mappe.
- name: Build (Linux, plattformneutrale Projekte)
if: matrix.os == 'ubuntu-latest'
run: |
dotnet build src/IBKRTrader.App.Avalonia -c Release
dotnet build src/IBKRTrader.Daemon -c Release
dotnet test tests/IBKRTrader.Tests -c Release --logger "trx;LogFileName=test-results.trx"
- name: Build
run: dotnet build IBKRTrader.slnx --no-restore -c Release
- name: Test
run: dotnet test IBKRTrader.slnx --no-build -c Release --logger "trx;LogFileName=test-results.trx"
# Die Konstruktionsprüfung der Oberfläche braucht mit Avalonia KEIN Anzeigegerät mehr
# (SetupWithoutStarting). Mit WinForms war das auf einem Build-Server nicht möglich.