back to article You won't need .NET Standard... except when you do need it: Microsoft sets out latest in ever-changing story

Microsoft .NET program manager Immo Landwerth has set out the latest summary of how to write code that targets more than one version of the platform. The long-standing problem is that the multitude of different .NET runtimes and platforms causes problems for anyone writing code that targets more than one, such as developers …

  1. Steve Davies 3 Silver badge


    The problem is tough but what riles developers is that Microsoft has changed its approach so many times.

    Confusion is the name of the game. Trying to figure it out sure beats doing real work.

    How many different versions of .Net runtime do you have installed? How much disk space is it taking up? (Shhh... don't mention all the hidden files)

  2. steamnut


    I'm glad that I gave .NET, with it's many versions, the heave-ho many years ago. The .NET runtime has just become more bloated at each release. The idea that someone purchasing a product I wrote in C# requiring a 500Mb download of the correct .NET version just to try it is bizarre.

    1. Anonymous Coward
      Anonymous Coward

      Re: Smug

      "The idea that someone purchasing a product I wrote in C# requiring a 500Mb download of the correct .NET version just to try it is bizarre."

      Bizarre, and not necessarily correct. When you compile your application, you can either compile it with the assumption the framework is installed on the target machine, or you can include the framework files required with the binary you build - in this case, it bundles only the files needed (I've seen apps under 30MB using this method). Also, I seem to remember Microsoft deploying the (non-Core) Framework via Windows Update, so the end-user likely has the framework installed, anyway.

      1. englishr

        Re: Smug

        > I've seen apps under 30MB using this method

        Oh, how things have changed since I were a lad...

        I remember writing a "student database" program for a high school in the early '80s, on a dual-floppy TRS-80, using Z80 assembler. The machine had 32k of RAM, most of which was needed for holding data. The program ended up being about 10k, and now a 30MB app is considered small. Sigh.

        Obligatory "Now get off my lawn!"

        1. overunder Silver badge

          Re: Smug

          Well, you're a little older than me, but yeh that can't be right (I hope). That line is presented as if it is seldom to see an "app" with no shared objects under 30MB. If true, wtf happened? That really seriously cannot be right, so I assume Microsoft just considers certain .so's to be dependencies unbeknownst to the programmer.

        2. Man inna barrel

          Re: Smug

          30MB? Are some kind of loony typing addict? At the present rate, I will be dead long before I get that far. I am up to about 50k on my current project. I am just unwriting a load of code. I think I have done a good day's work if I get rid of a few hundred lines of useless code.

          It is not that a modern PC lacks the memory to run apps that use megabytes, but more code means more errors.

    2. 9Rune5 Silver badge

      Re: Smug

      The latest .NET Core runtime for Windows is a 50MB download.

      A randomly picked linux version of that runtime (that includes the SDK) is 159MB or so.

      Needless to say: It contains a lot of functionality.

  3. bpfh Silver badge

    There was an xkcd about competing standards...

    It was not meant to be a roadmap....

    1. deadlockvictim

      Re: There was an xkcd about competing standards...

      You mean this one, don't you?

      I thought of it myself while reading the article.

      1. Hubert Cumberdale Silver badge

        Re: There was an xkcd about competing standards...

        Yup, came here to post it, but guessed someone else may have got there first...

      2. Version 1.0 Silver badge

        Re: There was an xkcd about competing standards...

        "A few years ago, Friday, October 14 was World Standards Day. Or, at least, it was World Standards Day in *some* countries. However, in America, the celebrations were held on October 11th. In Finland, World Standards Day was marked on October 13th. Italy planned a separate conference on standards for October 18th." - ASR sig from years ago.

    2. John Miles

      Re: There was an xkcd about competing standards...

      Funny you should mention that - if you read The future of .NET Standard by Immo Landwerth (linked in article) it actually uses it

  4. Sceptic Tank

    Maybe we need an abstraction layer.

    1. David Lewis 2

      Just the one?

      1. bpfh Silver badge

        Inspired by JavaScript.

        They have abstraction layers sussed. Just look at the one lib to rule them all: Mootools. Or is it JQuery? Or Angular? Or Vue? Or Bootstrap? Or....

  5. overunder Silver badge


    "The long-standing problem trap..."

    "... .NET 5.0 should target .NET Standard 2.0" <--- "5 == 2" makes perfect sense and clears everything up!

  6. Henry Wertz 1 Gold badge

    Yeah good job...

    I remember when they claimed .NET was going to be cross-platform and portable, when they were trying to displace Java. Good job...

    Java, you can write some code for Java, run it under a JVM, and it runs. .NET.... well, worrying about accessing the registry aside, see the article; it really sounds like if you want cross-platform code you'd have more portable code writing C to POSIX standard, then throwing the if/thens in to deal with Windows, than you get using the supposedly-cross-platform .NET.

    1. Sin2x

      Re: Yeah good job...

      .NET _is_ cross-platform and portable since .NET Core release 1.0, which was more than 4 years ago. .NET 5 is even better in that regard as it unifies ".NET Core" and "Windows .NET" in a single "just" .NET. A bit confusing but it's an undeniable improvement.

      1. J27 Bronze badge

        Re: Yeah good job...

        Well, not really. .NET 5 is just .NET Core 4. They renamed it to signal people still on the .NET Framework that Core is finally done, and .NET Framework is a sinking ship that all rats must jump off.

        I'm not bitter because this means a lot of work for me that won't result in any new features to show sales... no, not me.

  7. Robert Grant Silver badge

    "I want to believe. I just hope we're not hearing about yet another story in a few years," said Microsoft program manager Glenn Block, who works on Microsoft Graph. If that is an internal perspective, what are the rest of us to make of it?

    This is guaranteed. As soon as a new UI/device/abstraction comes along, MS will do a massive amount of effort supporting it through introducing abstraction layers and other things that will later need to be rationalised.

    1. Nick Ryan Silver badge

      Yeah.... yet another abstraction layer....

      One wouldn't want a CPU that's considerably faster than a CPU of five years ago to be able to execute an application without it feeling more sluggish and slow than the equivalent application five years ago.

  8. DS999

    .NET is still a thing?

    Who still uses that POS? Is it the five people left who still use a Zune?

    1. deadlockvictim

      Re: .NET is still a thing?

      Our programmers at work are obliged to use it.

      The application servers are slow and the Entity Framework queries it generates mean we have to wait 3-4s for each webpage page to load. You won't be surprised to learn that we have about 30 deadlocks per day.

      1. J.Teodor

        Re: .NET is still a thing?

        I do believe this is the issue with the programmers and not the platform.

      2. Anonymous Coward
        Anonymous Coward

        Re: We have to wait 3-4s for each webpage

        You need to sack your developers and employ professionals.

        Decent C#/Core code has initial cold start/minimum memory requirement issues, but once they are factored in the actual performance is on a par with virtually anything out there.

  9. renke

    web browsers are almost OSes

    The "feels like an OS" is an unending rabbit hole, MS needs to be careful or target platforms like OperatingSystem.IsEmacs and OperatingSystem.IsSystemd need to be supported.

  10. Version 1.0 Silver badge

    Given everything we see here?

    Maybe it's time to junk the lot and start with a new operating system that is designed to fix all of the problems?

    A 50Mb download? LOL, that's nothing in today's world.

    1. Matthew 25
      Thumb Up

      Re: Given everything we see here?

      Yeah! We could call it Unix or something like that

POST COMMENT House rules

Not a member of The Register? Create a new account here.

  • Enter your comment

  • Add an icon

Anonymous cowards cannot choose their icon

Biting the hand that feeds IT © 1998–2020