Build WinForms Quickstart for .NET 4.8 Windows 11#251
Build WinForms Quickstart for .NET 4.8 Windows 11#251Brian Plattenburg (bplattenburg) merged 14 commits intomainfrom
Conversation
There was a problem hiding this comment.
Pull request overview
Adds a new Windows Forms quickstart targeting .NET Framework 4.8 (Windows 11 / VS) using an experimental Ditto SDK build, largely mirroring the existing modern WinForms sample.
Changes:
- Introduces a new
dotnet-winforms-net48/WinForms app (UI + Ditto CRUD/observe wrapper) targeting net48. - Adds net48-specific build assets (solution/project,
packages.config, native DLL copy rule). - Adds local
.env-based configuration loading and quickstart documentation.
Reviewed changes
Copilot reviewed 18 out of 22 changed files in this pull request and generated 13 comments.
Show a summary per file
| File | Description |
|---|---|
| dotnet-winforms-net48/packages.config | Pins Ditto experimental net48-support packages and supporting dependencies. |
| dotnet-winforms-net48/ToDoTask.cs | Task document model for the tasks collection (Newtonsoft.Json attributes). |
| dotnet-winforms-net48/TasksPeerService.cs | Singleton service wrapper around TasksPeer for app-wide access. |
| dotnet-winforms-net48/TasksPeer.cs | Ditto SDK wrapper implementing CRUD + subscription + observation for tasks. |
| dotnet-winforms-net48/Taskapp.WinForms.Net48.sln | New VS solution for the net48 WinForms quickstart. |
| dotnet-winforms-net48/Taskapp.WinForms.Net48.csproj | Net48 WinForms project file with explicit assembly refs and native DLL copy. |
| dotnet-winforms-net48/README.md | Net48-specific prerequisites and run instructions. |
| dotnet-winforms-net48/Properties/Settings.settings | Default settings file for WinForms project scaffolding. |
| dotnet-winforms-net48/Properties/Settings.Designer.cs | Auto-generated Settings designer. |
| dotnet-winforms-net48/Properties/Resources.resx | Project resources container. |
| dotnet-winforms-net48/Properties/Resources.Designer.cs | Auto-generated Resources designer. |
| dotnet-winforms-net48/Properties/AssemblyInfo.cs | Assembly metadata for net48 build. |
| dotnet-winforms-net48/Program.cs | WinForms entry point with async initialization via a loading dialog. |
| dotnet-winforms-net48/MainForm.resx | Resources for the main WinForms UI. |
| dotnet-winforms-net48/MainForm.cs | Main UI logic: list rendering + add/edit/delete + done toggling. |
| dotnet-winforms-net48/MainForm.Designer.cs | Main form designer-generated layout. |
| dotnet-winforms-net48/LoadingForm.cs | Modal loading form that awaits Ditto initialization. |
| dotnet-winforms-net48/LoadingForm.Designer.cs | Loading form designer-generated layout. |
| dotnet-winforms-net48/InputDialog.cs | Simple modal input dialog for editing task titles. |
| dotnet-winforms-net48/AppConfiguration.cs | .env loader and required config validation. |
| dotnet-winforms-net48/App.config | Declares .NET Framework 4.8 runtime. |
| dotnet-winforms-net48/.env.sample | Sample environment file template for required Ditto settings. |
Files not reviewed (4)
- dotnet-winforms-net48/LoadingForm.Designer.cs: Language not supported
- dotnet-winforms-net48/MainForm.Designer.cs: Language not supported
- dotnet-winforms-net48/Properties/Resources.Designer.cs: Language not supported
- dotnet-winforms-net48/Properties/Settings.Designer.cs: Language not supported
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 18 out of 22 changed files in this pull request and generated 2 comments.
Files not reviewed (4)
- dotnet-winforms-net48/LoadingForm.Designer.cs: Language not supported
- dotnet-winforms-net48/MainForm.Designer.cs: Language not supported
- dotnet-winforms-net48/Properties/Resources.Designer.cs: Language not supported
- dotnet-winforms-net48/Properties/Settings.Designer.cs: Language not supported
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…rict mode - 4.14.4 GA replaces the experimental net-framework-support package - websocketUrl is vestigial in the new DittoConfig flow — removed from TasksPeer, TasksPeerService, AppConfiguration, Program, and .env.sample - Re-added DQL strict mode disable (4.x SDK still defaults to strict; default flips in v5) - Cleaned up unused imports in Program.cs
|
Aaron LaBeau (@biozal) bumped this to 4.14.4 GA, dropped the websocketUrl stuff (unused with the new DittoConfig path), and put the strict mode disable back since 4.x still defaults to strict. Mind giving it a test on Windows when you have a sec? Bulzan Sergiu (@busec0) to approve. |
This PR provides a Quickstart for Windows 11 and .NET version 4.8. Originally requested by Brian Plattenburg (@bplattenburg), originally targeting a pre-release Ditto SDK build; now bumped to the GA release.
This shares as much code as possible with the modern version of Windows Form Quickstart example. Very important notes:
4.14.4(GA) or newer — 4.14.4 is the first stable release with .NET Framework (netstandard2.0) support. Will not work on 4.14.3 or earlier.No tests are provided for the app currently.
Recent updates
4.14.4-experimental-net-framework-support.1to4.14.4GA acrosspackages.config,Taskapp.WinForms.Net48.csproj, and the README API-reference link.websocketUrlplumbing — the newDittoConfig+DittoConfigConnect.Serverflow routes everything through the auth URL, so the parameter was unused. Removed fromTasksPeer,TasksPeerService,AppConfiguration,Program, and.env.sample.TasksPeer.Create— the 4.x SDK still defaults to strict mode (default flips in v5), so it's required to support theSELECT *query the quickstart uses.Program.cs.