Switch-Toolbox icon indicating copy to clipboard operation
Switch-Toolbox copied to clipboard

Update project to use .NET Core 3.1, .NET 5, or later

Open RQWorldblender opened this issue 3 years ago • 3 comments

Since November 2020, there is just the open-source .NET since version 5 that replaced the .NET Framework, from (https://en.wikipedia.org/wiki/.NET). It and .NET 6 that released in November 2021 are designed to be cross-platform, unlike the previous .NET Framework, by including support for Linux and macOS (and potentially other operating systems) instead of just Windows; this would also help solve #324.

I know that upgrading to a major .NET version might be a big change for you, but I may be able to help you, even if I hardly use Windows anymore. I think that some of the libraries (including OpenTK and NAudio) used already have support for at least .NET Core 3.1. Whatever version of .NET newer than Framework 4.6.2 you choose to migrate to, it's got to be something newer than 4.8, as 4.8 only receives security and bug fixes. Otherwise, without compatibility layers like Wine, I and other people who don't use Windows would have no way to browsing the files supported by Switch-Toolbox.

You might find this guide to be helpful in case you would to do some of the porting work: https://docs.microsoft.com/en-us/dotnet/core/porting/

RQWorldblender avatar Jan 17 '22 06:01 RQWorldblender

Has any progress been made on this?

Nolij avatar Feb 16 '22 19:02 Nolij

This probably won't happen anytime soon due to all the libraries required to update and there is just alot involved in terms of updating them. (OpenTK in general would be a big pain since the version bump is very different).

KillzXGaming avatar Feb 16 '22 22:02 KillzXGaming

This probably won't happen anytime soon due to all the libraries required to update and there is just alot involved in terms of updating them. (OpenTK in general would be a big pain since the version bump is very different).

I could help you with the porting or even rewriting the whole program to another language (though it would take a lot of time if I was the only one doing it). Otherwise, if not that you can port it, are there other equivalent solutions, standalone or bundled, that I could use that also runs on Linux?

Could you tell me which libraries in particular need updating or need replacement if some can't be ported over to .NET 5?

I could also make a fork of this program and do most of the updating myself as a last resort. It would also help me with my coding skills with C#, even though I would need to use Windows for this time temporarily.

RQWorldblender avatar Feb 16 '22 22:02 RQWorldblender