.NET Framework versus .NET latest?
-
I have a one-man-show small business with a complex, mature and utterly reliable .NET Framework 4.6.1 WPF app and associated libraries, etc. I'm always busy adding requested features and doing customizations for my customers. My question is - how important is it that I drop my income-generating activities and port all of this to the latest .NET 6 or whatever? I would value advice from those who have done this upgrade...
-
I have a one-man-show small business with a complex, mature and utterly reliable .NET Framework 4.6.1 WPF app and associated libraries, etc. I'm always busy adding requested features and doing customizations for my customers. My question is - how important is it that I drop my income-generating activities and port all of this to the latest .NET 6 or whatever? I would value advice from those who have done this upgrade...
"If it ain't broke, don't fix it." Start a new project with the latest version - no point in upgrading software if you aren't adding features, all you do is risk adding problems or inefficiencies because you aren't fully familiar with a new framework (however similar it may be).
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony "Common sense is so rare these days, it should be classified as a super power" - Random T-shirt AntiTwitter: @DalekDave is now a follower!
-
I have a one-man-show small business with a complex, mature and utterly reliable .NET Framework 4.6.1 WPF app and associated libraries, etc. I'm always busy adding requested features and doing customizations for my customers. My question is - how important is it that I drop my income-generating activities and port all of this to the latest .NET 6 or whatever? I would value advice from those who have done this upgrade...
Having read the comments on your article about non binding MVVM I imagine your "upgrade" would be a bloody nightmare having gone down a non standard path (assuming you have maintained that style). The greatest nightmare of a one man show - when do I HAVE to move to the latest version of my tool(s), all the while building technical debt. Think of the poor sods still on VB6! I agree with OG - you need the income stream and stability, unless your clients are screaming for the latest version I would leave it. When (Ghu forbid) they demand you go to a browser based solution then you change!
Never underestimate the power of human stupidity - RAH I'm old. I know stuff - JSOP
-
Having read the comments on your article about non binding MVVM I imagine your "upgrade" would be a bloody nightmare having gone down a non standard path (assuming you have maintained that style). The greatest nightmare of a one man show - when do I HAVE to move to the latest version of my tool(s), all the while building technical debt. Think of the poor sods still on VB6! I agree with OG - you need the income stream and stability, unless your clients are screaming for the latest version I would leave it. When (Ghu forbid) they demand you go to a browser based solution then you change!
Never underestimate the power of human stupidity - RAH I'm old. I know stuff - JSOP
That "MVVM without binding" project was such a failure that the last time you flew in a commercial jet, the turbine blades might have been shaped by that software :-D My clients (industrial machine builders) wouldn't know a Framework from a Core from a Standard unless I whacked 'em on the head with them.
-
I have a one-man-show small business with a complex, mature and utterly reliable .NET Framework 4.6.1 WPF app and associated libraries, etc. I'm always busy adding requested features and doing customizations for my customers. My question is - how important is it that I drop my income-generating activities and port all of this to the latest .NET 6 or whatever? I would value advice from those who have done this upgrade...
I found it easy to move from WPF to UWP, and now prefer UWP because of the Windows Store though I think you can move WPF to the store now (easy customer distribution). I also think the UWP event model is more comprehensive. And there's local and roaming storage, etc. Nothing you would miss unless you went looking, and then you do.
"Before entering on an understanding, I have meditated for a long time, and have foreseen what might happen. It is not genius which reveals to me suddenly, secretly, what I have to say or to do in a circumstance unexpected by other people; it is reflection, it is meditation." - Napoleon I
-
I have a one-man-show small business with a complex, mature and utterly reliable .NET Framework 4.6.1 WPF app and associated libraries, etc. I'm always busy adding requested features and doing customizations for my customers. My question is - how important is it that I drop my income-generating activities and port all of this to the latest .NET 6 or whatever? I would value advice from those who have done this upgrade...
I moved many thousands of lines from .Net Framework 4.x to 4.81 to finally move them to .Net 3 up to .Net 7.0 (including WPF programs). The main job is to redo the project in the new .Net format, compile and correct the few compilation errors you found. This answer gives a hint on the difficulty problem but don't address the importance of porting it to .Net Core.
Jacques Fournier Consyst SQL Inc. www.consyst-sql.com
-
I have a one-man-show small business with a complex, mature and utterly reliable .NET Framework 4.6.1 WPF app and associated libraries, etc. I'm always busy adding requested features and doing customizations for my customers. My question is - how important is it that I drop my income-generating activities and port all of this to the latest .NET 6 or whatever? I would value advice from those who have done this upgrade...
Bruce Greene wrote:
My question is - how important is it that I drop
You have two customer bases 1. Existing 2. New For both types of customers do they buy new hardware? How often do they upgrade windows? Leaving it as is runs the risk of, at some point, your software will fail in some odd way or not run at all because of updates to windows. However updating also runs the risk that will not run on older versions either. These days older apps also have an increased security risk. Or at least it is perceived that way. So it is possible at some point that something (like a virus checker) might flag the app for something. Which makes customers nervous. You might also want to validate how exactly your build process works. If you are expecting to be able to download libraries (specific versions) any time you want at some point that might no longer be possible. You can address that keeping the libraries in your own source control and download nothing. Besides the customers the primary way is to look for "end of life" for anything. Could be operating system, libraries, hardware etc. For the version you specified above the date is April 26, 2022. It is unlikely anything will fail now. But you probably don't want to still be waiting 5 years from now. Microsoft .NET Framework - Microsoft Lifecycle | Microsoft Learn[^] If you have customers that do not upgrade then you will also need to plan on continuing supporting them. Note that this also means that you will need to have hardware and operating system that you can both test on and develop on. Keeping in mind however that even if it is good money maker at some point even they will find it difficult to keep running with the old equipment. Although some people are very ingenious at finding sources.