What goes into each one?
What goes into each one?
The BCL is the same base library, as the name itself says. It contains everything that is fundamental to working with .NET, including all infrastructure that C # language, and those that are very similar, will use directly. It is part of the Common Language Infrastructure (CLI) specification and can be used by any language that is built upon .NET or another CLI implementation. Any other implementation of the CLI must necessarily have the entire BCL. Examples of what you have in it are all the basic types of language, IO, collections, attributes, basic exceptions, delegates, etc.
FCL is what comes additionally and does not have to exist in a CLI implementation. This is what helps with more specific tasks that are not so basic. We can thus consider the manipulation of XML, WinForms, WPF, ASP.NET, ADO.NET etc. The BCL is one of the components of FCL.
Note that Mono or .NET Core do not have many of these components and are still compliant.
In the entire infrastructure diagram you can see the difference: