4

I am trying to learn C# currently but am getting a bit lost in all terminology. From what I understand there is the .NET Framework and .NET Core which are both build on top of the .NET Standard Library.

Reading this article it claims that the .NET Framework will eventually be deprecated, and .NET 5 that is scheduled for this November, according to that article will be .NET Core.

Now my question. I am currently looking at a course that teaches the .NET Base Class Library. Am I correct when I assume this is part of the .NET Standard Library, meaning that it still is relevant in .NET Core?

SomeDutchGuy
  • 2,249
  • 4
  • 16
  • 42
  • As you state, .NET Core is the way forward, I would look for resources based on that. BCL (which I think you mean by .NET Base Library), is a limited subset of Core. See https://stackoverflow.com/questions/807880/bcl-base-class-library-vs-fcl-framework-class-library for more (out of date) info on BCL/FCL. – Neil Jul 27 '20 at 11:11
  • There is no such thing as ".NET Base Library". There is the .NET Base **Class** Library, or BCL, which is the APIs that provide common building blocks for applications like regular expressions, HTTP clients, etc. – Ian Kemp Jul 27 '20 at 11:11
  • @Neil, thanks I missed a word in there. SO I am safe learning the BCL? – SomeDutchGuy Jul 27 '20 at 11:14

3 Answers3

6

It probably refers to the Full .NET Framework.

Full .NET Framework is NOT built on NetStandard.
NetStandard is an "interface" that both the FULL .NET Framework, the .NET Core Framework, and Xamarin iOS/Android and Unity implement.

Don't worry, if you learn the basics of C#, they will not be much different in Full .NET Framework vs. .NET Core.

The Full .NET Framework is deprecated, though - and you should use .NET Core now.
NetStandard can run on both (that is, up to NetStandard 2.0).

Here's a good analogy: https://gist.github.com/davidfowl/8939f305567e1755412d6dc0b8baf1b7

NetStandard

(Source: https://github.com/dotnet/standard/blob/master/docs/versions.md)

You should NOT be using ASP.NET in the FULL .NET Framework, though, that is deprecated and VERY incompatible to the new ASP.NET version. You'd survive with ASP.NET MVC, that is largely compatible.

Stefan Steiger
  • 78,642
  • 66
  • 377
  • 442
0

BCL is just dotnetese for “standard library.”

By now, probably a majority of the .NET Framework’s stdlib is available in .NET Standard, the stdlib specification for .NET Core. (Or in NuGet packages.) Some deprecated things were removed, and some classes had stuff added to them, but I’d say a good enough chunk of a course based on the Framework’s BCL will still be useful.

Don’t worry about it, when you get to a point where you can read the actual docs you’ll be fine.

millimoose
  • 39,073
  • 9
  • 82
  • 134
-3

.NET Standard, .NET framework and .NET core are different libraries, different way of doing things, different class definitions/templates.... I can read from the link ".NET Framework is what it is. The current version of .NET Framework, 4.8, is supposed to be the last version of .NET Framework. There will be no more new versions of .NET Framework planned in the future.", well, as you have said it is 5.0 the last one, but to be honest, they said the same with 4.8, so if finally, 5.0 will be the last one... let's wait and see.

You can learn Framework (base) and then .net core and standard are a sub group of framework, in terms of classes, but they do things differently

Iria
  • 433
  • 1
  • 8
  • 20
  • .NET 5 is nothing to do with .NET Framework, it's the [next version of .NET Core after 3.X, rebranded](https://devblogs.microsoft.com/dotnet/introducing-net-5/). – Diado Jul 27 '20 at 11:21
  • `well, as you have said it is 5.0 the last one,` 4.8 will be the last version of .NET Framework. .NET 5 is basically a marketing / business decision to focus all new development on .NET Core (i.e. .NET 5 is based on .NET Core). – mjwills Jul 27 '20 at 11:21