-
Notifications
You must be signed in to change notification settings - Fork 480
Add support NET 8.0 #273
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
base: master
Are you sure you want to change the base?
Add support NET 8.0 #273
Conversation
On the NET 8.0 version there were no Nuget packages, in this branch the following were added to the solution - a project rebuilt for NET 8.0 and the TesterNet8 project, which separately duplicates (with some changes) the previous one but is tied to the new version for NET 8.0
|
I do like that you created a separate project for the uplift instead of just modifying the base project (which would be a breaking change most likely). However, I'm not sure about adding an entire other project to the repo, as that would most likely have to be placed in the same package, or somehow packaged separately. I prefer the idea of packaging it separately for newer winforms projects, or projects being uplifted to newer .NET versions. I think for now what we can do is leave your .NET 8 fork of this project open and link it in the README along with any other versions of the project that have either newer .NET framework dependencies, or have other major breaking changes. This way people can use either the base project, or a fork of the project, whichever fits their individual use case. |
|
You can do what you want, you can package the NUGET package for NET 8.0 using a second instance of this project, I just mean that this support is now possible for you, just rewriting your original project is tantamount to abandoning NET 2.0 and lower versions of frameworks because there is a gap between NET 4.8.1 and NET 6.0. You will need to make a new project to support the newer systems anyway. |
|
@Dvurechensky You are absolutely correct, just wanted to let the appreciation be known for taking that into account. You would be surprised how many pull requests come through where people have just uplifted the .NET version, abandoning .NET 2 in this project and others. Thanks! I will try to do some testing this weekend with it, and try to get a link to your fork in the README soon after that. |
|
@Hexman768 Yes I understand compatibility issues very much, if we are talking about NET 2.0 then the project should stay in it as it is supported in all up to NET 4.8.1, if the project is on NET 6.0 then it is supported in all up to NET.9.0 - I did not make NET 6.0 as the issue was solved hastily, but in general you can rebuild what I did on NET 6.0 and it will be compatible with all modern frameworks until something new again with years. There are some compatibility nuances so I avoided creating a NET 6.0 version - I had problems with it, but overall with the NET 2.0 - NET 4.8.1 picture everything was stable. I've seen many threads here and all of them sensitively change versions - which is fundamentally wrong and I understand your concern. |
|
@Dvurechensky It seems you have a powershell script or some such thing making automatic commits to this PR every day, can this be turned off, or is this required for something? |
|
@Hexman768 I didn't know this would show up in this thread, but it's required for monitoring my project update systems. Sorry for bothering you. |
|
@Dvurechensky It's not a bother at all, I just noticed it and wasn't sure if the changes were intentional or required, I plan on taking your changes and using them to create a .NET 8 supported fork for this project. |
|
@Dvurechensky I am definitely curious as to what that does exactly and how it works, I was thinking something like that could be useful for me, especially with the amount of work I still have left to accomplish. |
|
@Hexman768 My algorithm simply goes through all my projects and publishes changes daily, not all projects, but most of those that are public. I did this so as not to forget changes as the number of projects increases exponentially. In theory, you can do this yourself, but if you need a similar PowerShell script, I can publish a general version for you to use. |
On the
NET 8.0version there were no Nuget packages, in this branch the following were added to the solution - a project rebuilt for NET 8.0 and the TesterNet8 project, which separately duplicates (with some changes) the previous one but is tied to the new version forNET 8.0When trying to run the latest version of the project on
NET 6.0in the Nuget manager, on the NET8 project I got a successful installation but did not get the library to work successfully, namely, when changing the position of the element in the form, I was given an error serializing parameters (I will attach a photo)I decided to raise your project and make a stable implementation of both the library on NET 8.0 and the testing project
What has changed overall?:
HotkeysMapping- Parse - Addedadditional checksand removed serialization to the resource just in case the person has Russian language. With Russian locale, it looks forНазадinstead of the cancel action button and crashescenter of the screenServiceColors library- I didn't understand how to solve it - butI decided to do it head-on- I simply increased thefontsby 1 unit in each form where the crash occurred when opening it, and when Ire-savedthe form, they all started working without errors - but the problem with the resources remained there, sinceI don't know where you got the base64 string with ServiceColors from