Knowing When to Upgrade .NET Versions And How To Get Your Boss On Board

แชร์
ฝัง
  • เผยแพร่เมื่อ 14 ต.ค. 2024
  • Why is upgrading to a new version of .NET important? Is it worth the time and effort? How often should we upgrade? These are the questions we will answer in today's episode of Dev Questions.
    Website: www.iamtimcore...
    Patreon: / iamtimcorey
    Ask Your Question: suggestions.ia...
    Sign Up to Get More Great Developer Content in Your Inbox: signup.iamtimc...

ความคิดเห็น • 36

  • @faisalalhoqani6151
    @faisalalhoqani6151 หลายเดือนก่อน

    Great episode dear Tim, Thank you, and keep it up.

    • @IAmTimCorey
      @IAmTimCorey  หลายเดือนก่อน

      You are welcome.

  • @JALEMYmeservey
    @JALEMYmeservey 2 หลายเดือนก่อน +9

    Very relevent topic. I have two relatively large applications that are running on .NET 4.8. I'm the only developer at a medium sized company and the choice is all mine to make. The dilemma I have is that it appears this particular version of .NET framework isn't going any where for apparently forever. Meanwhile .NET is being updated at a break neck pace. I'm only updating my .NET apps when an LTS version is released. If I go away from .NET 4.8 I feel like I'll be stuck on this feverish update cycle that Microsoft is on. But like you say if I stay on a particular framework for too long than you get stuck when you reach a point of not being able to upgrade. I think I've come close to that point with these two apps. What options are available for upgrading from .NET 4.8 to say .NET 8? It's not a simple matter of changing the target framework selection in Visual Studio. Is there any sign from Microsoft that they will slow down the cadence of .NET releases in the future? Currently it seems significantly faster than in the .NET framework days.

    • @JollyGiant19
      @JollyGiant19 2 หลายเดือนก่อน +6

      It’s a yearly release schedule with LTS every two years, I personally wouldn’t call that a breakneck pace.
      For upgrading, look into the .NET Upgrade Assistant to see what the level of effort you need to move would be. If it’s easy it’ll do it for you and if it’s complex it’ll fail.

    • @donaldlee9992
      @donaldlee9992 2 หลายเดือนก่อน

      I'm in the identical position as you. Our large organization has several critical .NET Framework 4.8 WebForms applications that I wrote over 10 years ago and been maintaining since. I started doing all new development in .NET 8 just this year (with the help of TimCory courses...Thank you Tim!). My only solution to upgrade our WebForms apps is to 1) create a .NET 8 api CRUD layer and then 2) rewrite the UI and business logic from scratch, probably into a Blazer web app. This is going to take me 18 - 36 months. Like you I am the only developer and make all technical decisions.

    • @IAmTimCorey
      @IAmTimCorey  2 หลายเดือนก่อน +2

      There are a few things here. First, as the only developer, your company has already put your applications in danger. The bigger the application gets, the less you can really do since maintenance and fixes will fill more and more of your time, with feature requests filling the rest. That will leave very little time for deep maintenance like moving versions. That's going to be a problem.
      As for the "breakneck pace" of .NET, it really isn't that fast. There have been 26 updates to .NET framework in the past 22 years. Yes, some of them were smaller point releases, but even those caused compatibility issues with previous versions. Even major versions were sometimes very quick, with .NET Framework 2.0 coming out at the end of 2005 and .NET Framework 3.0 coming out at the end of 2006 and then .NET Framework 3.5 came out at the end of 2007. Add on top of that the issue that 11 major versions of Visual Studio that came out during that time and different versions of .NET Framework were supported or not in a confusing matrix and it all led to a mess. Microsoft decided not to create that mess with .NET. They agreed to a regular cadence of major releases every two years. However, some people wanted changes more quickly than that. That is why they offer short-term supported versions on the other years. This allows for the product to grow at a predictable pace while not forcing people to undertake large changes every two years. Instead, you can get smaller changes every year if you want. Basically, they standardized the process, slowed down the craziness, and gave you options. It may not FEEL that way, but that's the case. It is definitely more predictable, stable, and easy to work with than the .NET Framework releases. Add to that the fact that upgrades inside of .NET are much easier on the Microsoft side compared to .NET Framework releases and the result is that you have a smoother transition through the versions than ever before.
      Yes, .NET Framework 4.8 will still be supported as long as Windows supports .NET Framework. However, what does that do for you? You only get security fixes. You don't get support for new features, new ways of doing things, or new code improvements. You also are stuck on Windows. You can't take advantage of cheaper hosting options or move to mobile. You are definitely being left behind. No, there isn't as easy of an upgrade process as there is between .NET projects, but it can be done (unless you are using WebForms or WCF). You can check out my TimCo Retail Manager playlist on this channel to see how. I built that app intentionally in .NET Framework in order to upgrade it to .NET.

    • @JALEMYmeservey
      @JALEMYmeservey 2 หลายเดือนก่อน +2

      @@IAmTimCorey I appreciate the thorough response! Just one point of clarification on my end. These two applications are the largest that I've built and have over 20,000 of lines of code. I'm sure you've seen much bigger than that. Large in my world is probably not the large your accustomed to seeing. I should have considered that in my choice of words. But yes, I can see how that as an application grows so does the time required for maintenance. In my case that isn't as much of a factor as the number of applications. While most are under 1500 of lines of code, each new application created means more time spent doing maintenance (i.e. Updating frameworks, libraries, etc). My count of apps in production is currently at 14 (Most of them are .NET Core 3.1 or later) and growing. So I do have in an interest in keeping the amount of time spent on maintenance low or reducing it. That is the appeal in leaving the two apps as .NET 4.8 forever. But from the sound of it once an app is converted to .NET upgrading is no bigger deal than it was in the .NET Framework days. Which wasn't so bad.
      Thanks for history lesson on .NET Framework and .NET. I realize my commentary on the pace of .NET updates was hyperbolic. I have a stick complex. If someone hands me a stick to carry it seems like a log. 😊

  • @CRBarchager
    @CRBarchager 2 หลายเดือนก่อน +1

    7:20 No. .NET 6 is end of support November 12, 2024. .NET 7 was end of support in May 14, 2024. .NET 8 is supported until November 10, 2026 and .NET 9 which will be released in November, 2024 will be end of support in May of 2026.

    • @IAmTimCorey
      @IAmTimCorey  2 หลายเดือนก่อน

      Yes. That's what I said. .NET 6 and .NET 8 are the ones that are currently supported. As your date shows, .NET 6 is still supported through November. That's what I was saying.

  • @CRBarchager
    @CRBarchager 2 หลายเดือนก่อน

    We're still on .NET 4.7/4.8 with multi solutions but are working on converting or just plain start over on .NET 8 with all solutions. For the most part all our common libraries are created with .NET 2.0 to maintain the compatibility and being able to used old code until we can get rid of it.

    • @IAmTimCorey
      @IAmTimCorey  2 หลายเดือนก่อน

      Thanks for sharing!

  • @DalTron001
    @DalTron001 2 หลายเดือนก่อน +1

    How would you convince your boss to let you upgrade without re-writing the whole database? I upgraded to the latest version on our main application, but it uses some controls that we don't want to pay for, so it would take me some time to either get different controls or make our own, but they figure we should rewrite the db before that. Even though we are still on 4.5.2

  • @swordblaster2596
    @swordblaster2596 2 หลายเดือนก่อน +1

    Code doesn't magically stop working. Framework isn't going away, there's something to be said for a rock solid runtime that doesn't fricking change every couple of years. Customers don't give a crap about the latest and greatest, they want their software to keep working.

    • @IAmTimCorey
      @IAmTimCorey  2 หลายเดือนก่อน +1

      First, code rot is a very real thing. Code absolutely does stop working. That is because code isn't dependent only on itself to run. It depends on an operating system. It depends on hardware. It often depends on network resources (database, file server, email server, queueing services, etc.) That means that if any of those things change, it can affect the ability for your application to work. That's why things get constant updates even when they aren't having new features added. I know companies that are still using versions of operating systems that are no longer supported because their software couldn't change. The only way software keeps working the same way is if nothing it depends on changes either. That's almost impossible.
      Second, yes, customers do want their software to change. I'm not sure where you have worked that this isn't the case. For instance, when .NET Framework 4 was out, desktop applications were king. Are your customers still good with that? Because I know that the entire culture has changed. Now the primary application type is web application, with mobile application coming in second. That means you either change the way your application works, or you slowly become irrelevant.
      Third, the issue with "rock-solid runtime" is that most often the issue isn't the runtime. The issue is the software that you write for that runtime. .NET 8 is solid and performant. It built on the solid performant versions that went before it. Often when people complain about something not being solid, it is the software written on top of it. That's a developer issue, not a Microsoft issue.
      Fourth, you act like .NET Framework never changed. It changed radically a number of times, including multiple major versions in multiple years. Yet, there were also massive gaps where nothing changed. Did you know what happened during those gaps? People complained about things not being changed. They also complained about how massive the updates were when things did change. They said it was too hard to upgrade between versions, which is why applications were more likely to stagnate. Now they have a much easier process, a predictable schedule, and smaller updates in order to make the whole thing better.

  • @andywalter7426
    @andywalter7426 2 หลายเดือนก่อน

    I have one question. I have a case where I am actually stuck with .net framework 3.5. I write random map scripts for age of empires online. that game was back in 2012 and was brought back but they have no source code so all the random map scripts has to be .net 3.5 even that works on even the latest windows so a person is not stuck on old windows. would that be an exception where a person is stuck on the older version of .net framework (even though i actually like .net 8 and even .net 9 when .net 9 releases).

    • @JollyGiant19
      @JollyGiant19 2 หลายเดือนก่อน +1

      Yeah, your use case is different and doesn’t benefit from newer .NET versions since your targeting mods for a a game and not your own application

    • @IAmTimCorey
      @IAmTimCorey  2 หลายเดือนก่อน

      Yes, you are dependent on your dependencies. In this case, you are dependent on an older game so you cannot change to a newer version of the language.

  • @jonathansaindon788
    @jonathansaindon788 2 หลายเดือนก่อน +1

    Lets goooo!!!

  • @xavierbatlle1828
    @xavierbatlle1828 2 หลายเดือนก่อน

    I use .Net 4.7 framework to develop com components and libraries. I'm not sure if I can develop com libraries for Ms Office using .Net 8

    • @IAmTimCorey
      @IAmTimCorey  2 หลายเดือนก่อน +1

      When you have external dependencies, they will dictate what you can do. My guess is that you will have less and less ability to build these COM components for MS Office as Office moves more towards the cloud, though.

  • @bogella2225
    @bogella2225 2 หลายเดือนก่อน

    When ever I update an application, I speak with its owner to find what features they dont need anymore because changing business needs.

    • @IAmTimCorey
      @IAmTimCorey  2 หลายเดือนก่อน

      Good idea.

  • @mikey803
    @mikey803 2 หลายเดือนก่อน

    so, is it even versions are major updates, odd versions are minimal updates for .net?

    • @JollyGiant19
      @JollyGiant19 2 หลายเดือนก่อน +1

      Every version is a new version but every even release is an LTS release.
      IME it’s easiest just to stay current rather than try and stick to an LTS.

    • @IAmTimCorey
      @IAmTimCorey  2 หลายเดือนก่อน

      Basically.

  • @bdi65
    @bdi65 2 หลายเดือนก่อน

    The best

    • @IAmTimCorey
      @IAmTimCorey  2 หลายเดือนก่อน

      Thank you!

  • @Taibentre79
    @Taibentre79 2 หลายเดือนก่อน

    Like 80

  • @Taibentre79
    @Taibentre79 2 หลายเดือนก่อน

    Helo

  • @fikriymamo
    @fikriymamo 2 หลายเดือนก่อน

    First