-
Notifications
You must be signed in to change notification settings - Fork 914
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
Net 5 migration #3124
Net 5 migration #3124
Conversation
|
I see a few changes:
|
Hi @kenkendk thanks for tips
|
It looks like AppVeyor is having some issues as well. The reported "build success" is a bit misleading (this is fixed in the upstream |
Actually, .NetStandard 1.6+ supports I need the feature in some other projects as well, so maybe I will figure out a workaround.
Overall, phew... this will take a while to update, but it will be nice once everything runs on .netcore. |
Added more libraries and more TODO-DNC for parts that dont know how to solve. Running discussion on AlphaVSS how to migrate, because it is crucial library. |
Localization library causing build to fail tests. |
On the
There are a number of "solutions" for this on the internet, but none of them have worked for me. I suspect that the |
I updated the |
It just dawned on me that .net framework has no concept of Linux/Macos native libraries. So most likely instead of including the appropriate dll, it's just pulling in the windows one. If we can get the freebsd interop working with dotnet5 then that is likely more reason to abandon framework. |
This pull request has been mentioned on Duplicati. There might be relevant details there: https://forum.duplicati.com/t/add-secure-and-httponly-attributes-to-cookies/13924/10 |
Oh my god! you guys want some help with the migration? You do realize that we are almost there with .net 8? 😄 |
All the help we can get. I've been swamped in honey do's and haven't had a chance to keep working on my branch the last few months. There was a desire to backport some of the changes but I've never actually been able to build the v4 branch. I gave up on that and have just been continuing down the branch. If I remember correctly it mostly works with caveats (encryption), the hardest for me to diagnose is macos support, there seems to be a quirk in my build if the .app |
Ok how eager you guys were to actually do it? Because I do not want to spend few months of my spare time if this won't gonna be merged because project lead does not want too I.e. 😄 |
If you can manage to pull that off, more power to you. Incremental changes are very likely to be merged. I personally struggled to get .net standard to work with .net4 because of the structure of the app and the way the build system works with embedding native code. But I'm not a .net dev by trade and have trouble building the unmodified app so maybe for you it is easy. |
So do you have some idea where I should start with this? Which project would be simple to migrate? Or relatively simple? |
There are the experiment/net5-split, experiment/net5-split-cancellationtoken branches, which I was able to build. I also have some more changes (with current master merged back and all backends converted to cancellation tokens) in my forked branch. The solutions are converted to target .net standard 2.0, with executables for both .NET 5 and .Net Framework 4.8. It is building, but some features were commented out (look at the project for what was done a few years ago). I don't have write access to update anything. You would need to ask @gpatel-fr about the timeframe of merging if/once it was finished. Pull requests are pretty backed up right now. |
Right now I looked at Logging and Localizations projects. Both have no dependencies (in solution) so those would be good candidates for moving to .net standard 2.0. The only think problematic there is |
Ok I noticed that you guys already did that: moved those two projects. |
I created #5006 |
@npodbielski - One other big thing that I ran into when I looked into this (literally years ago) was that Thread.Abort is no longer supported, and there are a few different places that were using it (for actual flow control, not just error cases). I don't remember what state that got left in, but I feel like I remember making significant progress on it (and look at that, I actually left some reasonable comments on the work!). It could be worth browsing through the branches in my fork and commits to see if there's anything you want to salvage. The changes for Thread.Abort were not trivial. Another thing was swapping HttpWebRequest for HttpClient everywhere I could. I don't remember if this was just something I thought could be done in place for .NET 4, or something that was required to move stuff to .NET 5. Again, there's a branch that contains those changes too. |
Yes, that is most worrisome code to me. I mean this kind of webserver... I do not honestly remember if this was good even in 2013-15 which is mostly when this code were written from gitblame. I do not want to modernize it... I would rewrite this to - I would write new, but asp.net core pipeline and OWIN is nothing new - to asp.net core webserver. But right now none of this matters because test do not work. I think we need to fix it first, because I do not want to break anything and tests are the only thing that I can rely on doing such rewrite. |
It was not good back then, but it was a working cross-platform HTTP server, which I could not find anywhere else. It is even older, because I forked it after it got abandoned by the original author. Today with the managed Kestrel server, I do not see any reason not to use that one, as it works so much better and will be more familiar to developers. |
And kestrel was working fine in the port last I checked, any issues are undoubtedly me just forgetting to implement something. I've been swamped with other honeydo projects so haven't been able to get back to working on it for the last several months. |
This pull request has been mentioned on Duplicati. There might be relevant details there: https://forum.duplicati.com/t/battle-plan-for-migrating-to-net8/17482/1 |
I realize this PR is both extremely needed and also embarrassingly neglected, but I honestly intend to finally get it done. Any input to my plan is appreciated: https://forum.duplicati.com/t/battle-plan-for-migrating-to-net8/17482 |
This pull request has been mentioned on Duplicati. There might be relevant details there: https://forum.duplicati.com/t/migrating-from-net-4-to-net-8-in-300-commits/17975/1 |
First step in migration to .NET Core as in #2864