.NET Framework Class Library (FCL)

The Framework Class Library or FCL provides the system functionality in the .NET Framework as it has various classes, data types, interfaces, etc. to perform multiple functions and build different types of applications such as desktop applications, web applications, mobile applications, etc. The Framework Class Library is integrated with the Common Language Runtime (CLR) of the .NET framework and is used by all the .NET languages such as C#, F#, Visual Basic .NET, etc.

Categories in the Framework Class Library

The functionality of the Framework Class Library can be broadly divided into three categories i.e utility features written in .NET, wrappers around the OS functionality and frameworks. These categories are not rigidly defined and there are many classes that may fit into more than one category.


Details about the Categories in the Framework Class Library are given as follows:

  • Utility Features: The utility features in the FCL includes various collection classes such as list, stack, queue, dictionary, etc. and also classes for more varied manipulations such as Regex class for regular expressions.
  • Wrappers Around OS functionality: Some of the features in the FCL are wrappers around the underlying Windows OS functionality. These include the classes for using the file system, the classes to handle the network features, the classes to handle I/O for console applications, etc.
  • Frameworks: There are various frameworks available in the FCL to develop certain applications. For example, ASP.NET is used to develop web applications, Windows Presentation Foundation (WPF) is used to render user interfaces in Windows applications and so on.

Namespaces in the Framework Class Library

Namespaces in the Framework Class Library are a group of related classes and interfaces that can be used by all the .NET framework languages. Some of the namespaces in the FCL along with their description is given as follows:

Namespace Description
Accessibility The Accessibility namespace is a part of the managed wrapper for the COM accessibility interface.
Microsoft.Activities The Microsoft.Activities namespace provides support for Windows Workflow Foundation applications.
Microsoft.CSharp The Microsoft.CSharp namespace has support for compilation and code generation for the C# source code.
Microsoft.JScript The Microsoft.JScript namespace has support for compilation and code generation for the JScript source code.
Microsoft.VisualBasic The Microsoft.VisualBasic namespace has support for compilation and code generation for the VisualBasic source code.
System The System namespace has base classes for definition of interfaces, data types, events, event handlers, attributes, processing exceptions etc.
System.Activities The System.Activities namespace handles the creation and working with activities in the Window Workflow Foundation using various classes.
System.Collections The System.Collections namespace has multiple standard, specialized, and generic collection objects that are defined using various types.
System.Configuration The System.Configuration namespace handles configuration data using various types. This may include data in machine or application configuration files.
System.Data The System.Data namespace accesses and manages data from various sources using different classes.
System.Drawing The System.Drawing namespace handles GDI+ basic graphics functionality. Various child namespaces also handle vector graphics functionality, advanced imaging functionality, etc.
System.Globalization The System.Globalization namespace handles language, country, calendars used, format patterns for dates, etc. using various classes.
System.IO The System.IO namespaces support IO like data read/write into streams, data compression, communicate using named pipes etc. using various types.
System.Linq The System.Linq namespace supports Language-Integrated Query (LINQ) using various types.
System.Media The System.Media namespace handles sound files and accessing the sounds provided by the system using various classes.
System.Net The System.Net namespace provides an interface for network protocols, cache policies for web resources, composing and sending e-mail etc. using various classes.
System.Reflection The System.Reflection namespace gives a managed view of loaded methods, types, fields, etc. It can also create and invoke types dynamically.
System.Security The System.Security namespace has the .NET security system and permissions. Child namespaces provide authentication, crytographic services etc.
System.Threading The System.Threading namespace allows multithreaded programming using various types.
XamlGeneratedNamespace The XamlGeneratedNamespace has compiler-generated types that are not used directly from the code.

My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.

Article Tags :

Be the First to upvote.

Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.