Repository navigation
Retarget to .NET Framework 4.8 and upgrade AvalonDock - #368
Merged
tgjones merged 2 commits intoOct 4, 2026
Merged
Conversation
Replace the net462 build, test, package, and external consumer lane with net48 while retaining net10. Update the support contract and migration guidance without changing dependency versions. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Add AD4 docking, theme, and persistence coverage; validate exact native package assets; and exercise the package-only compatibility host against the upgraded engine and theme pair. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Contributor
Author
|
AvalonDock 5 only has support for net48/net9/net10. The 1.1.0-beta line was introduced in PR #367 and dropped net6/7 support. I'm continuing with this beta version line for framework alignments as well as the significant dependency updates. |
tgjones
approved these changes
Oct 4, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Retarget Gemini's supported .NET Framework lane from
net462tonet48, then upgrade the coherent AvalonDock engine and VS2013 theme pair from 4.60.0 to 4.74.1.This follows the Caliburn.Micro 5 migration in #367. The target change is kept in a separate commit and validated while AvalonDock remains at 4.60.0, so framework-policy and docking-library observations remain independently attributable.
AvalonDock 4.74.1 retains Gemini's existing
DockingManager, XML serializer, and Light/Dark/Blue resource integration while supplying nativenet48andnet10.0-windows7.0assets.Scope
net462tonet48;Dirkster.AvalonDock.Themes.VS2013and its engine dependency from 4.60.0 to 4.74.1;DockingManager,XmlLayoutSerializer, VS2013 resources, and resolved assembly versions;Intentionally unchanged:
Evidence
net10.0-windowsnet462net48net48lib/net48andlib/net10.0-windows7.0.Physical monitor removal was not performed because it changes system-wide display topology. Mixed-scale display movement was validated without changing the configured monitors.
Validation
dotnet restore src\Gemini.sln --configfile src\NuGet.config --force-evaluate --no-cachedotnet build src\Gemini.sln --configuration Release --no-restoredotnet test --project src\Gemini.Tests\Gemini.Tests.csproj --configuration Release --framework net48 --no-build --no-restoredotnet test --project src\Gemini.Tests\Gemini.Tests.csproj --configuration Release --framework net10.0-windows --no-build --no-restoredotnet pack src\Gemini.sln --configuration Release --no-build --no-restore --output build\packagespwsh -NoProfile -File eng\validate-artifacts.ps1Base and rollback
Based on
tgjones/gemini:masterat8b75be3d4a24384447b9ed89130ab9d32a2aed92, the accepted merge commit for #367.The branch contains two focused commits above that base: the
net48retarget while retaining AvalonDock 4.60, followed by the AvalonDock 4.74.1 upgrade and its validation coverage.Framework applications and extensions must retarget to .NET Framework 4.8. AvalonDock's assembly version changes from 4.60.0.0 to 4.74.1.0, so extensions referencing AvalonDock directly must be rebuilt and tested.
Operational rollback requires the matching previous Gemini application, module, extension, and dependency binaries together with the complete previous state file. The trailing AvalonDock XML alone is not a complete rollback artifact.