Skip to content

Conversation

@Dvurechensky
Copy link

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

When trying to run the latest version of the project on NET 6.0 in 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)

devenv_zsKD6K2CUV
  • 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 - Added additional checks and 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 crashes
    • In all forms of the test project, for beauty, I made the display in the center of the screen
    • When trying to transfer a test project to NET 8.0, I encountered an incompatibility of the ServiceColors library - I didn't understand how to solve it - but I decided to do it head-on - I simply increased the fonts by 1 unit in each form where the crash occurred when opening it, and when I re-saved the form, they all started working without errors - but the problem with the resources remained there, since I don't know where you got the base64 string with ServiceColors from

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
@Hexman768
Copy link
Collaborator

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.

@Dvurechensky
Copy link
Author

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.

@Hexman768
Copy link
Collaborator

@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.

@Dvurechensky
Copy link
Author

Dvurechensky commented Jul 13, 2025

@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.

@Hexman768
Copy link
Collaborator

@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?

@Dvurechensky
Copy link
Author

@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.

@Hexman768
Copy link
Collaborator

@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.

@Hexman768
Copy link
Collaborator

@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.

@Dvurechensky Dvurechensky reopened this Nov 3, 2025
@Dvurechensky
Copy link
Author

@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.

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

Successfully merging this pull request may close these issues.

2 participants