Skip to content

[Application Builder] Unify configuration, settings, logging, and desktop services #14955

Description

@KlausLoeffelmann

User story

As a WinForms developer, I want modern configuration, options, user settings, logging, exception handling, and background/health services through one extensible model so that desktop applications use familiar .NET infrastructure without losing desktop-specific behavior.

Rationale and user benefit

The builder should make common infrastructure consistent with other .NET workloads while respecting per-user settings, UI-thread dispatch, application lifetime, offline desktop operation, privacy, and deployment constraints.

Scope boundary

Own configuration/options integration, the modern settings abstraction and migration path, logging providers/extensions, exception services, hosted/background services, and appropriate health diagnostics. Consume host/lifetime and DI contracts; do not own their implementation or templates.

Acceptance criteria

  • Configuration sources and precedence are documented and predictable.
  • Strongly typed options and validation work before UI startup.
  • Per-user settings can load, save, upgrade, and report failures without silently losing data.
  • Logging and exception handling preserve UI-thread context and do not expose sensitive data by default.
  • Background and health services stop cleanly with the application.
  • Third parties can extend the builder without internal dependencies.

Definition of Done

  • Service boundaries and defaults are API-reviewed.
  • Implementations, tests, samples, migration guidance, and diagnostics are complete.
  • File contention, corruption, cancellation, privacy, deployment, performance, and resource stability are validated.

Parallelization

This is foundation stream C. Work behind extension methods and service contracts so streams A and B do not need to edit these providers.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Review IssueIssue content and decomposition require team review and may be iterated

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions