-
-
Notifications
You must be signed in to change notification settings - Fork 344
.NET 10 #2865
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: develop
Are you sure you want to change the base?
.NET 10 #2865
Conversation
|
Wow, that was fast! Thanks for the contribution. However, since .NET 8 is still in support until November 2026, I'd like to move the core projects to support both net8.0 and net10.0. Moving them directly to net10.0 means they won't be usable by net8.0 projects anymore. In particular, this is what I'd propose:
As for the test projects, I am okay if they target just net48 and net10.0*. We'll also have to update |
|
Thanks for the feedback, I added experimental fluent theme support. If you don't want it added, I can remove it. |
|
Is it possible to maintain the ability to build for net6.0 for another year or two? I can't say the need is critical, but if the build remains limited to net8/10, it's concerning... |
|
@helladen, thanks for the updates. Yeah, I'd like the fluent theme support to be handled separately from this PR if possible. I've already experimented with it in #2735, and would like it to be part of adding theme APIs to Eto. @Serg-Norseman I have no issues keeping net6.0 targets, it does not add much overhead tbh. Do know that zero testing will be done on it as it is out of support, but I would accept PR's that fix any issues of course. |
|
@Serg-Norseman to understand better, why would dropping the out of support .NET 6.0 targets be concerning? It ended on November 2024. Is this more from a linux point of view where updating built-in packages is not easily done on older distro versions? |
|
@helladen Sorry for the offtopic @cwensley My concern stems from what I've seen in the news announcements from subscription to the dotnet repository, where each new version of dotnet removes some code for compatibility with older versions of Windows and other OSes (I'm not sure if this code removal is widespread or regular). As a professional developer, I understand this and fully support it. However, on Eto.Forms, I'm developing a pet project for end users in genealogy. While on Linux and MacOS, I'm not concerned about the removal of legacy compatibility code—the users there are typically advanced and often at the forefront of innovation. For Windows, I have incredibly stubborn and obstinate users who are still using ancient versions of my program due to their reluctance to switch from, say, WinXP/Vista/7 (this is mostly due to conservatism, stubbornness, and a penchant for traditional, familiar tools, rather than financial solvency). Of course, such users are rare, and I don't focus on them at all. But things are already bad with Windows 10, too—it's already out of regular support. I was planning to migrate my Eto.Forms-based project to .net8 in the next month or two. And I expect that some users will experience new problems even with this release, on old versions of Windows 10. I read that during the development of .net8-9, some compatibility with older versions of Win10 was simply removed (I don't know how accurate this is). If I lose the ability to fix the issues or roll back to .NET 6, I'll likely lose some of my audience again, as happened every time I switched to a new framework version... At the same time, I understand that for some projects with a tiny audience, your project can't support old, unnecessary compatibility for long. |
This reverts commit 7d8ab54.
|
Removed fluent theme, it's still pretty buggy with the controls. I think it might be best to handle this until it is complete by Microsoft. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wouldn't updating this to NET10_0_OR_GREATER cause issues when compiled for .NET 8?
|
I was just upgrading my app to dotnet10 and came across an issue where any calls to try and show a eto form would result in a UIThread exception... even though they were called on it correctly. So I appreciate the work on this! :D |
Hey @captainjono, I don't think anything regarding updating to .NET 10 would fix an issue like that. You likely have some code running on a non-UI thread. The only frameworks that allow that are WinForms and WPF, all others require all code to run on the UI thread. Eto itself has checks for this since 2.6.0. You can disable it with |
This moves the Eto Forms to .NET 10.