Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. .Net 5 Freakin Annoying

.Net 5 Freakin Annoying

Scheduled Pinned Locked Moved The Lounge
dotnetcsharp
37 Posts 20 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • realJSOPR Offline
    realJSOPR Offline
    realJSOP
    wrote on last edited by
    #1

    It's screaming about a bunch of warnings that didn't crop up in .Net Framework. CS8600, 8601, 8602, and 8618. I see no benefit when the objects it's screaming about can in fact be null without hurting anything. In fact, my code is written to handle it gracefully. Nanny state bullsh|t...

    ".45 ACP - because shooting twice is just silly" - JSOP, 2010
    -----
    You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010
    -----
    When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013

    S M L G L 11 Replies Last reply
    0
    • realJSOPR realJSOP

      It's screaming about a bunch of warnings that didn't crop up in .Net Framework. CS8600, 8601, 8602, and 8618. I see no benefit when the objects it's screaming about can in fact be null without hurting anything. In fact, my code is written to handle it gracefully. Nanny state bullsh|t...

      ".45 ACP - because shooting twice is just silly" - JSOP, 2010
      -----
      You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010
      -----
      When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013

      S Offline
      S Offline
      Slacker007
      wrote on last edited by
      #2

      you can suppress certain warnings in Visual Studio, if you want. Suppress warnings for projects and NuGet packages - Visual Studio (Windows) | Microsoft Docs[^]

      realJSOPR 1 Reply Last reply
      0
      • realJSOPR realJSOP

        It's screaming about a bunch of warnings that didn't crop up in .Net Framework. CS8600, 8601, 8602, and 8618. I see no benefit when the objects it's screaming about can in fact be null without hurting anything. In fact, my code is written to handle it gracefully. Nanny state bullsh|t...

        ".45 ACP - because shooting twice is just silly" - JSOP, 2010
        -----
        You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010
        -----
        When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013

        M Offline
        M Offline
        Marc Clifton
        wrote on last edited by
        #3

        Open the .csproj file and change "the" line to read: disable And yes, bloody annoying.

        Latest Articles:
        ASP.NET Core Web API: Plugin Controllers and Services

        L 1 Reply Last reply
        0
        • realJSOPR realJSOP

          It's screaming about a bunch of warnings that didn't crop up in .Net Framework. CS8600, 8601, 8602, and 8618. I see no benefit when the objects it's screaming about can in fact be null without hurting anything. In fact, my code is written to handle it gracefully. Nanny state bullsh|t...

          ".45 ACP - because shooting twice is just silly" - JSOP, 2010
          -----
          You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010
          -----
          When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013

          L Offline
          L Offline
          Lost User
          wrote on last edited by
          #4

          #realJSOP wrote:

          Nanny state bullsh|t...

          Yup. The state dictates that, offcourse.

          Bastard Programmer from Hell :suss: "If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.

          1 Reply Last reply
          0
          • realJSOPR realJSOP

            It's screaming about a bunch of warnings that didn't crop up in .Net Framework. CS8600, 8601, 8602, and 8618. I see no benefit when the objects it's screaming about can in fact be null without hurting anything. In fact, my code is written to handle it gracefully. Nanny state bullsh|t...

            ".45 ACP - because shooting twice is just silly" - JSOP, 2010
            -----
            You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010
            -----
            When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013

            G Offline
            G Offline
            Gary R Wheeler
            wrote on last edited by
            #5

            FYI: Nullable reference types | Microsoft Docs[^]

            #realJSOP wrote:

            Nanny state bullshit..

            FTFY

            Software Zen: delete this;

            1 Reply Last reply
            0
            • realJSOPR realJSOP

              It's screaming about a bunch of warnings that didn't crop up in .Net Framework. CS8600, 8601, 8602, and 8618. I see no benefit when the objects it's screaming about can in fact be null without hurting anything. In fact, my code is written to handle it gracefully. Nanny state bullsh|t...

              ".45 ACP - because shooting twice is just silly" - JSOP, 2010
              -----
              You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010
              -----
              When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013

              L Offline
              L Offline
              lmoelleb
              wrote on last edited by
              #6

              Let me see. I can enable null check - clearly advertising intent outside my method - make it very clear where I can ignore null check and get the compiler to tell me where I need it. Reference types and value types both able to advertise clearly if they are nullable or not. Or I can disable nullable check and accept more null reference exceptions - often not telling you enough to easily tell what was null when all you have is a log file from a production server. When calling a method always having to wonder "hmm, can this return null or not" - and either forget to handle null in one or another edge case, or clutter the code with null handling code that will never execute. And have value types that can communicate if they can be null or not, while my reference types can't. And in case you say "never happens to me". Well, congratulation for working on such a simple code base. It is not exactly a hard choice for new code. I can't think of a single reason to disable it besides "I am not used to it". For old code it is of course a question if it is worth the investment which will vary from project to project. It is unfortunately not as good as it should be due to the requirement to link to libraries developed before null checks, but at least it is an attempt to fix one of the most serious design mistakes in the .NET type system. Can we please get more "nanny state" to let the compiler deal with this trivial crap so I can concentrate on the domain.

              L 1 Reply Last reply
              0
              • L lmoelleb

                Let me see. I can enable null check - clearly advertising intent outside my method - make it very clear where I can ignore null check and get the compiler to tell me where I need it. Reference types and value types both able to advertise clearly if they are nullable or not. Or I can disable nullable check and accept more null reference exceptions - often not telling you enough to easily tell what was null when all you have is a log file from a production server. When calling a method always having to wonder "hmm, can this return null or not" - and either forget to handle null in one or another edge case, or clutter the code with null handling code that will never execute. And have value types that can communicate if they can be null or not, while my reference types can't. And in case you say "never happens to me". Well, congratulation for working on such a simple code base. It is not exactly a hard choice for new code. I can't think of a single reason to disable it besides "I am not used to it". For old code it is of course a question if it is worth the investment which will vary from project to project. It is unfortunately not as good as it should be due to the requirement to link to libraries developed before null checks, but at least it is an attempt to fix one of the most serious design mistakes in the .NET type system. Can we please get more "nanny state" to let the compiler deal with this trivial crap so I can concentrate on the domain.

                L Offline
                L Offline
                lmoelleb
                wrote on last edited by
                #7

                Just to add to my own argument.... Why should:

                int i = null;

                be an error and you have to write

                int? i = null;

                while

                object obj = null;

                is supposed to be OK? And yes, I understand the technical and historical reasons for this. And they are exactly that: technical and historical. The compiler can finally move us beyond this.

                Richard Andrew x64R 1 Reply Last reply
                0
                • realJSOPR realJSOP

                  It's screaming about a bunch of warnings that didn't crop up in .Net Framework. CS8600, 8601, 8602, and 8618. I see no benefit when the objects it's screaming about can in fact be null without hurting anything. In fact, my code is written to handle it gracefully. Nanny state bullsh|t...

                  ".45 ACP - because shooting twice is just silly" - JSOP, 2010
                  -----
                  You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010
                  -----
                  When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013

                  Richard DeemingR Offline
                  Richard DeemingR Offline
                  Richard Deeming
                  wrote on last edited by
                  #8

                  I'd have thought it was more annoying that .NET 5 is only supported until May: Microsoft .NET and .NET Core - Microsoft Lifecycle | Microsoft Docs[^] The current "long-term support" version is .NET 6, which is supported until ... November 2024[^]. Turns out not having to rewrite everything every three years is yet another bonus to sticking with .NET Framework 4.8.


                  "These people looked deep within my soul and assigned me a number based on the order in which I joined." - Homer

                  "These people looked deep within my soul and assigned me a number based on the order in which I joined" - Homer

                  L D realJSOPR J J 6 Replies Last reply
                  0
                  • Richard DeemingR Richard Deeming

                    I'd have thought it was more annoying that .NET 5 is only supported until May: Microsoft .NET and .NET Core - Microsoft Lifecycle | Microsoft Docs[^] The current "long-term support" version is .NET 6, which is supported until ... November 2024[^]. Turns out not having to rewrite everything every three years is yet another bonus to sticking with .NET Framework 4.8.


                    "These people looked deep within my soul and assigned me a number based on the order in which I joined." - Homer

                    L Offline
                    L Offline
                    lmoelleb
                    wrote on last edited by
                    #9

                    Before the release of .NET 6: 1) Do you want support longer than 3 months? If so, use .NET Core 3.1 or .NET Framework 4.8 2) Do you want to receive security updates through Windows updates? If so, use .NET 5 or .NET Framework 4.8. 3) Do you want to use latest Open API standard? If so, use .NET 3.1 or 5.0. Ehh...

                    Richard DeemingR 1 Reply Last reply
                    0
                    • L lmoelleb

                      Before the release of .NET 6: 1) Do you want support longer than 3 months? If so, use .NET Core 3.1 or .NET Framework 4.8 2) Do you want to receive security updates through Windows updates? If so, use .NET 5 or .NET Framework 4.8. 3) Do you want to use latest Open API standard? If so, use .NET 3.1 or 5.0. Ehh...

                      Richard DeemingR Offline
                      Richard DeemingR Offline
                      Richard Deeming
                      wrote on last edited by
                      #10

                      You missed one: 4) Do you want to use SQL Server Reporting Services? If so, use .NET Framework 4.8. The suggestion to develop a .NET Core report viewer[^] was "under review" for over 4 years, and was one of the highest-voted feedback items. Microsoft recently announced their plans for this: upgrade your reports to a Power BI Premium subscription[^]. Because paying them for the SQL Server license obviously wasn't enough money. :doh:


                      "These people looked deep within my soul and assigned me a number based on the order in which I joined." - Homer

                      "These people looked deep within my soul and assigned me a number based on the order in which I joined" - Homer

                      L 1 Reply Last reply
                      0
                      • Richard DeemingR Richard Deeming

                        You missed one: 4) Do you want to use SQL Server Reporting Services? If so, use .NET Framework 4.8. The suggestion to develop a .NET Core report viewer[^] was "under review" for over 4 years, and was one of the highest-voted feedback items. Microsoft recently announced their plans for this: upgrade your reports to a Power BI Premium subscription[^]. Because paying them for the SQL Server license obviously wasn't enough money. :doh:


                        "These people looked deep within my soul and assigned me a number based on the order in which I joined." - Homer

                        L Offline
                        L Offline
                        lmoelleb
                        wrote on last edited by
                        #11

                        I am sure there are plenty of other things. Software development has pretty much been torn apart by some things moving too fast while others move too slow. If you build very simple things you can be in either camp and it will work. But if you need anything slightly complicated, you will be stuck between the two and productivity will go out the window.

                        1 Reply Last reply
                        0
                        • S Slacker007

                          you can suppress certain warnings in Visual Studio, if you want. Suppress warnings for projects and NuGet packages - Visual Studio (Windows) | Microsoft Docs[^]

                          realJSOPR Offline
                          realJSOPR Offline
                          realJSOP
                          wrote on last edited by
                          #12

                          I realize that (and I've done it), but having to do it now when it's been good for 20 years is annoying.

                          ".45 ACP - because shooting twice is just silly" - JSOP, 2010
                          -----
                          You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010
                          -----
                          When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013

                          1 Reply Last reply
                          0
                          • Richard DeemingR Richard Deeming

                            I'd have thought it was more annoying that .NET 5 is only supported until May: Microsoft .NET and .NET Core - Microsoft Lifecycle | Microsoft Docs[^] The current "long-term support" version is .NET 6, which is supported until ... November 2024[^]. Turns out not having to rewrite everything every three years is yet another bonus to sticking with .NET Framework 4.8.


                            "These people looked deep within my soul and assigned me a number based on the order in which I joined." - Homer

                            D Offline
                            D Offline
                            den2k88
                            wrote on last edited by
                            #13

                            And that's why instead of renewing my 14 years old knowledge of C# I decided to send MS to the Hell they belong and move to Python for my RAD activities. For all my other activities C++ is the pinnacle of high level but usually only C is viable, and Assembler becomes a not unreasonable tool.

                            GCS d--(d-) s-/++ a C++++ U+++ P- L+@ E-- W++ N+ o+ K- w+++ O? M-- V? PS+ PE- Y+ PGP t+ 5? X R+++ tv-- b+(+++) DI+++ D++ G e++ h--- r+++ y+++*      Weapons extension: ma- k++ F+2 X

                            P 1 Reply Last reply
                            0
                            • Richard DeemingR Richard Deeming

                              I'd have thought it was more annoying that .NET 5 is only supported until May: Microsoft .NET and .NET Core - Microsoft Lifecycle | Microsoft Docs[^] The current "long-term support" version is .NET 6, which is supported until ... November 2024[^]. Turns out not having to rewrite everything every three years is yet another bonus to sticking with .NET Framework 4.8.


                              "These people looked deep within my soul and assigned me a number based on the order in which I joined." - Homer

                              realJSOPR Offline
                              realJSOPR Offline
                              realJSOP
                              wrote on last edited by
                              #14

                              In this case, I don't have a choice. I have to use .Net Core because I'm doing an Avalonia app.

                              ".45 ACP - because shooting twice is just silly" - JSOP, 2010
                              -----
                              You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010
                              -----
                              When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013

                              Richard DeemingR 1 Reply Last reply
                              0
                              • realJSOPR realJSOP

                                It's screaming about a bunch of warnings that didn't crop up in .Net Framework. CS8600, 8601, 8602, and 8618. I see no benefit when the objects it's screaming about can in fact be null without hurting anything. In fact, my code is written to handle it gracefully. Nanny state bullsh|t...

                                ".45 ACP - because shooting twice is just silly" - JSOP, 2010
                                -----
                                You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010
                                -----
                                When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013

                                D Offline
                                D Offline
                                Daniel Pfeffer
                                wrote on last edited by
                                #15

                                I second your opinion. In the Good Old Days, software was written by people, a significant percentage of whom knew what they were doing. Nowadays, programming has been opened to the "masses", so syntactic sugar and nannying compiler messages have become the norm. I recognize the utility of lint-like warnings - at times, they can catch some real howlers. However, they are not necessarily a good default for an experienced programmer who knows what he/she/it is doing.

                                Freedom is the freedom to say that two plus two make four. If that is granted, all else follows. -- 6079 Smith W.

                                L 1 Reply Last reply
                                0
                                • Richard DeemingR Richard Deeming

                                  I'd have thought it was more annoying that .NET 5 is only supported until May: Microsoft .NET and .NET Core - Microsoft Lifecycle | Microsoft Docs[^] The current "long-term support" version is .NET 6, which is supported until ... November 2024[^]. Turns out not having to rewrite everything every three years is yet another bonus to sticking with .NET Framework 4.8.


                                  "These people looked deep within my soul and assigned me a number based on the order in which I joined." - Homer

                                  J Offline
                                  J Offline
                                  Jorgen Andersson
                                  wrote on last edited by
                                  #16

                                  I'm seeing .Net 5 as a glorified beta release, where .Net 6 is the release version

                                  Wrong is evil and must be defeated. - Jeff Ello

                                  1 Reply Last reply
                                  0
                                  • realJSOPR realJSOP

                                    In this case, I don't have a choice. I have to use .Net Core because I'm doing an Avalonia app.

                                    ".45 ACP - because shooting twice is just silly" - JSOP, 2010
                                    -----
                                    You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010
                                    -----
                                    When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013

                                    Richard DeemingR Offline
                                    Richard DeemingR Offline
                                    Richard Deeming
                                    wrote on last edited by
                                    #17

                                    This one?

                                    Welcome - Avalonia[^]:

                                    Avalonia is supported on all platforms that support .NET Standard 2.0.

                                    .NET Standard 2.0[^] includes .NET Framework 4.6.1 and up, although support is pretty rough for anything earlier than 4.7.2.


                                    "These people looked deep within my soul and assigned me a number based on the order in which I joined." - Homer

                                    "These people looked deep within my soul and assigned me a number based on the order in which I joined" - Homer

                                    1 Reply Last reply
                                    0
                                    • M Marc Clifton

                                      Open the .csproj file and change "the" line to read: disable And yes, bloody annoying.

                                      Latest Articles:
                                      ASP.NET Core Web API: Plugin Controllers and Services

                                      L Offline
                                      L Offline
                                      Luc Pattyn
                                      wrote on last edited by
                                      #18

                                      No need to edit, that Nullable switch is available under Properties/Build/General :)

                                      Luc Pattyn [My Articles] The Windows 11 "taskbar" is disgusting. It should be at the left of the screen, with real icons, with text, progress, etc. They downgraded my developer PC to a bloody iPhone.

                                      1 Reply Last reply
                                      0
                                      • L lmoelleb

                                        Just to add to my own argument.... Why should:

                                        int i = null;

                                        be an error and you have to write

                                        int? i = null;

                                        while

                                        object obj = null;

                                        is supposed to be OK? And yes, I understand the technical and historical reasons for this. And they are exactly that: technical and historical. The compiler can finally move us beyond this.

                                        Richard Andrew x64R Offline
                                        Richard Andrew x64R Offline
                                        Richard Andrew x64
                                        wrote on last edited by
                                        #19

                                        I disagree with this sentiment. I think that the way a variable is declared is very important to allow the compiler to check for misuse. Any misuse found would indicate that the programmer means something other than what he wrote.

                                        The difficult we do right away... ...the impossible takes slightly longer.

                                        L 1 Reply Last reply
                                        0
                                        • D Daniel Pfeffer

                                          I second your opinion. In the Good Old Days, software was written by people, a significant percentage of whom knew what they were doing. Nowadays, programming has been opened to the "masses", so syntactic sugar and nannying compiler messages have become the norm. I recognize the utility of lint-like warnings - at times, they can catch some real howlers. However, they are not necessarily a good default for an experienced programmer who knows what he/she/it is doing.

                                          Freedom is the freedom to say that two plus two make four. If that is granted, all else follows. -- 6079 Smith W.

                                          L Offline
                                          L Offline
                                          Lorenzo Bertolino
                                          wrote on last edited by
                                          #20

                                          I disagree, even an expert brain farts sometimes and the compiler warning you of that is, to me, useful to avoid bugs. And having the warnings in place can help in shared codebases, if you work alone sure, disable them. If it's shared I much prefer having them enabled and when you do weird stuff you disable it with a comment right there and not globally

                                          P 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups