Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

L10NSharp is a .Net framework only package but is depended on by .Net Standard packages #116

Open
hahn-kev opened this issue Feb 21, 2024 · 6 comments

Comments

@hahn-kev
Copy link

For example SIL.ChorusPlugin.LfMergeBridge depnds on L10NSharp despite it being a .Net Standard package. This causes warnings like this every time you run a package restore:

warning NU1701: Package 'L10NSharp 6.0.0' was restored using
'.NETFramework,Version=v4.6.1, .NETFramework,Version=v4.6.2, .NETFramework,Version=v4.7, .NETFramework,Version=v4.7.1, .NETFramework,Version=v4.7.2, .NETFramework,Version=v4.8, .NETFramework,Version=v4.8.1'
instead of the project target framework 'net8.0'. This package may not be fully compatible with your project.

taking a look at the NuGet dependancies there's no reason we couldn't upgrade this to support .Net standard is that correct?

@ermshiperete
Copy link
Member

It uses System.Windows.Forms which I think isn't available in .NET standard.

@tombogle
Copy link
Contributor

It should be possible to refactor this (as we did years ago with the libpalaso DLLs) so that the WinForms stuff is in a separate DLL with appropriate interfaces and logic to hook up UI stuff on Windows. I don't think the core localization logic is dependent on WinForms.

@hahn-kev
Copy link
Author

It uses System.Windows.Forms which I think isn't available in .NET standard.

Forms are available in dotnet 5+, so it could multitarget framework and a modern version of dotnet with Win Forms.

@hatton
Copy link
Member

hatton commented Feb 23, 2024

@tombogle do you know if anything is using the UI parts? One option would be to just drop those and ask any clients using them to roll them in locally.

@tombogle
Copy link
Contributor

Yes, the UI stuff is definitely being used by a large number of applications. You might be able to make a (weak?) case for requiring each of the applications to have their own implementations of the dialog boxes, but the L10nExtender is a pretty fundamental piece of the localization puzzle for the WinForms clients, so I think it would be a step backward to require each of them to implement that and maintain separate versions.

@megahirt
Copy link

megahirt commented Jun 4, 2024

I'm thinking that what is needed is for us to understand why SIL.ChorusPlugin.LfMergeBridge needs L10NSharp in the first place and refactor that dependency out.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants