views:

994

answers:

4

What's the difference between the two? Can we use them interchangeably?

+1  A: 

The BCL is a subset of the FCL. BCL honors the ECMA specification for the common language infrastructure. Then Microsoft added all their goodness like data and xml and called it the Framework Class Library. Basically they took the BCL and made it go to 11!

Joshua Belden
Thanks, what do you mean by "go to 11"?
Joan Venge
Spinal Tap reference
Chris S
Haven't heard that one. Can you tell me what it means so I am not left out?
Joan Venge
So in the movie 'This is Spinal Tap' which is a satirical look at heavy metal bands in a mock-umentary style, the guitarist (Nigel Tufnel) shows off an amp that he had specially made to Marty DiBergi:Nigel Tufnel: The numbers all go to eleven. Look, right across the board, eleven, eleven, eleven and...Marty DiBergi: Oh, I see. And most amps go up to ten?: Exactly.: Does that mean it's louder? Is it any louder?: Well, it's one louder, isn't it?
Ichorus
+4  A: 

The Base Class Library (BCL) is literally that, the base. It contains basic, fundamental types like System.String and System.DateTime.

The Framework Class Library (FCL) is the wider library that contains the totality: ASP.NET, WinForms, the XML stack, ADO.NET and more. You could say that the FCL includes the BCL.

Andrew Webb
So .net framework = fcl + bcl?
Joan Venge
On a simple level, .NET Framework = libraries (FCL, BCL), language compilers (C#, VB.NET) and Common Language Runtime (CLR). Plus then there's the whole ecosytem that surrounds that: Visual Studio, MSDN Help, and more.
Andrew Webb
+2  A: 
Chris S
At Microsoft, I believe the CLR team owns the BCL, while many teams own different parts of the FCL.
rjdevereux