Problem
Chorus 5.1.0 was compiled against L10NSharp 5.x, which placed L10NSharpExtender in the L10NSharp.UI namespace inside L10NSharp.dll. The NuGet dependency was an open minimum (>= 5.0.0), so NuGet will resolve to L10NSharp 9.x if it is present in a consuming project.
L10NSharp v9 moved L10NSharpExtender to the L10NSharp.Windows.Forms namespace in a separate L10NSharp.Windows.Forms.dll. The old type no longer exists in L10NSharp.dll, causing a TypeLoadException at runtime when any Chorus UI form is loaded:
Could not load type 'L10NSharp.UI.L10NSharpExtender' from assembly 'L10NSharp, Version=9.0.0.0, Culture=neutral, PublicKeyToken=fd0b3e309a5b7c28'
Fix
Branch patch/5.1.1-l10nsharp-v9 (one commit off v5.1.0) tightens the constraint to [5.0.0, 9.0.0), preventing NuGet from resolving to the incompatible v9.
To publish a 5.1.1 patch release
- Check out the branch:
git checkout patch/5.1.1-l10nsharp-v9
- Tag it:
git tag v5.1.1
git push origin v5.1.1
- The existing CI/CD pipeline should pick up the tag and publish the NuGet packages. Verify that
SIL.Chorus.LibChorus 5.1.1 appears on NuGet with the corrected [5.0.0, 9.0.0) L10NSharp constraint.
Notes
- No code or designer-file changes are needed — the old
L10NSharp.UI API is intact in v5–v8.
- Users who need L10NSharp v9+ compatibility should migrate to Chorus 6.x (which references
L10NSharp 10.0.0-* and uses the new L10NSharp.Windows.Forms namespace).
Problem
Chorus 5.1.0 was compiled against L10NSharp 5.x, which placed
L10NSharpExtenderin theL10NSharp.UInamespace insideL10NSharp.dll. The NuGet dependency was an open minimum (>= 5.0.0), so NuGet will resolve to L10NSharp 9.x if it is present in a consuming project.L10NSharp v9 moved
L10NSharpExtenderto theL10NSharp.Windows.Formsnamespace in a separateL10NSharp.Windows.Forms.dll. The old type no longer exists inL10NSharp.dll, causing aTypeLoadExceptionat runtime when any Chorus UI form is loaded:Fix
Branch
patch/5.1.1-l10nsharp-v9(one commit offv5.1.0) tightens the constraint to[5.0.0, 9.0.0), preventing NuGet from resolving to the incompatible v9.To publish a 5.1.1 patch release
SIL.Chorus.LibChorus 5.1.1appears on NuGet with the corrected[5.0.0, 9.0.0)L10NSharp constraint.Notes
L10NSharp.UIAPI is intact in v5–v8.L10NSharp 10.0.0-*and uses the newL10NSharp.Windows.Formsnamespace).