InitialForce.WPF
10.0.0-if.512
Prefix Reserved
See the version list below for details.
dotnet add package InitialForce.WPF --version 10.0.0-if.512
NuGet\Install-Package InitialForce.WPF -Version 10.0.0-if.512
<PackageReference Include="InitialForce.WPF" Version="10.0.0-if.512" />
<PackageVersion Include="InitialForce.WPF" Version="10.0.0-if.512" />
<PackageReference Include="InitialForce.WPF" />
paket add InitialForce.WPF --version 10.0.0-if.512
#r "nuget: InitialForce.WPF, 10.0.0-if.512"
#:package InitialForce.WPF@10.0.0-if.512
#addin nuget:?package=InitialForce.WPF&version=10.0.0-if.512&prerelease
#tool nuget:?package=InitialForce.WPF&version=10.0.0-if.512&prerelease
InitialForce.WPF
Patched WPF managed assemblies for Swing Catalyst / Motion Catalyst.
Based on dotnet/wpf (MIT). Third-party fork — not endorsed by Microsoft.
What this package does
InitialForce.WPF ships four patched WPF managed assemblies:
| Assembly | Description |
|---|---|
PresentationCore.dll |
Core WPF types: visual tree, input, imaging |
PresentationFramework.dll |
Controls, data binding, layout, styles |
WindowsBase.dll |
DependencyObject, threading primitives |
System.Xaml.dll |
XAML parsing and type conversion |
An MSBuild targets file (InitialForce.WPF.targets) is auto-imported into every project
that references this package. It:
- Removes the four Microsoft-supplied DLLs from MSBuild's copy lists so the runtime pack versions are never copied to your output directory.
- Copies the patched DLLs to your output directory on every build (F5 inner-loop) and
on publish — using the same msquic precedent from
InitialForce.App.csproj.
Installation
<PackageReference Include="InitialForce.WPF" Version="10.0.x-if.*" />
No other changes are required. The MSBuild targets file fires automatically.
Requirements
- .NET 10 (
net10.0-windows) RuntimeIdentifiermust bewin-x64(ARM64 support deferred to a future release)- Self-contained deployment is supported and recommended (matches Swing Catalyst's deployment model)
Verifying the override worked
After building your project, confirm that:
bin/Debug/net10.0-windows/win-x64/PresentationFramework.dll
does not come from %DOTNET_ROOT%\packs\Microsoft.WindowsDesktop.App.Ref\.... You can
check with:
(Get-Item "$env:OutDir\PresentationFramework.dll").VersionInfo.FileVersion
It should match the version reported by this package, not the version of the .NET 10 SDK you have installed.
Fallback package
If the runtime override does not fire (unusual project types, future SDK changes), use
InitialForce.WPF.RuntimeOverride instead. It adds explicit <Reference> items with
HintPath so the patched DLLs win at both compile time and runtime.
License
MIT. See LICENSE.TXT and NOTICE.md for attribution.
Known limitations
- Only
win-x64is supported in v1.x86andarm64consumers fall through silently to Microsoft's runtime pack. - Framework-dependent publish is untested. Use self-contained deployment to ensure correct DLL resolution.
- See
docs/known-limitations.mdfor the full list.
Not endorsed by Microsoft
This is an unofficial fork. Performance patches are submitted upstream to dotnet/wpf; once accepted upstream they are removed from this package on the next release.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 10.0.0-if.981 | 33 | 10/6/2026 |
| 10.0.0-if.894 | 41 | 10/1/2026 |
| 10.0.0-if.702 | 37 | 9/26/2026 |
| 10.0.0-if.602 | 44 | 9/18/2026 |
| 10.0.0-if.512 | 54 | 8/28/2026 |
| 10.0.0-if.428 | 55 | 8/23/2026 |
| 10.0.0-if.255 | 58 | 8/20/2026 |
| 10.0.0-if.254 | 59 | 8/17/2026 |
| 10.0.0-if.157 | 53 | 8/16/2026 |
| 10.0.0-if.118 | 54 | 8/15/2026 |
| 10.0.0-if.116 | 59 | 8/4/2026 |
| 10.0.0-if.110 | 53 | 7/24/2026 |
| 10.0.0-if.108 | 50 | 7/17/2026 |
| 10.0.0-if.84 | 64 | 5/17/2026 |
| 10.0.0-if.80 | 57 | 5/16/2026 |
| 10.0.0-if.77 | 59 | 5/12/2026 |
| 10.0.0-if.75 | 62 | 5/12/2026 |
| 10.0.0-if.72 | 48 | 5/1/2026 |
| 10.0.0-if.70 | 43 | 5/1/2026 |
| 10.0.0-if.62 | 56 | 4/29/2026 |