.NET Framework components
- Common Language Runtime(CLR)
- NET Framework Class Library
- Common Type System(CTS)
- Common Language Specification(CLS)
- Assemblies
- Windows Forms
- ASP.NET
- ActiveX Data Objects(ADO.NET)
- Windows Workflow Foundation(WF)
- Windows Presentation Foundation(WPF)
- Windows Communication Foundation(WCF)
- Windows CardSpace
- Language Integrated Query (LINQ)
- Parallel Programming
Common Language Runtime (CLR)
CLR ensures that the language-neutral development and execution environment that provides
services to help "manage" application execution.
- A common runtime environment for all .NET languages.
- Use of Common Type System (strict-type & code-verification).
- Use of metadata for safe execution.
- Memory allocation and garbage collection.
- Intermediate Language (IL) to native code compilers.
- Compiles MSIL code into native executable code.
- Security and interoperability of the code with other languages.
CLR: Execution Mode |
.NET Framework Class Library
- The Class Library is a comprehensive, object-oriented collection of reusable types.
- The Class Library is organized in a hierarchy of namespaces.
- Traditional command-line applications.
- Graphical User Interface (GUI) applications.
- Applications based on the latest innovations provided by ASP.NET.
Common Type System
- Defines how types are declared, used, and managed in runtime.
- Is also an important part of the runtime's support for crosslanguage integration.
- Performs the following functions:
- Establishes a framework that helps enable cross-language integration, type safety, and high performance code execution.
- Provides an object-oriented model that supports the complete implementation of many programming languages.
- Defines rules that languages must follow, which helps ensure that objects written in different languages can interact with each other.
Common Language Specification (CLS)
- The CLS is a set of basic language features needed by many applications.
- The CLS rules define a subset of the Common Type System. All the rules that apply to the Common Type System apply to the CLS, except where stricter rules are defined in the CLS.
- The CLS helps to enhance and ensure language interoperability by defining a set of features that the developers can rely on to be available in a wide variety of languages.
- Components that adhere to the CLS rules and use only the features included in the CLS are said to be CLS-compliant components.
- Most of the members defined by types in the .NET Framework Class Library are CLS-compliant.
Assemblies
- Assemblies are the building blocks of .NET Framework applications.
- They form the fundamental unit of deployment, version control, reuse, activation scoping, and security permissions.
- An assembly is a collection of types and resources that are built to work together and form a logical unit of functionality.
- They provide the CLR with the information it needs to be aware of type implementations. To the runtime, a type does not exist outside the context of an assembly.
- An assembly can be Shared or Private:
- A Private Assembly is available only to the application for which it is created.
- A Shared Assembly is available to more than one (multiple) applications. Shared Assemblies are stored in the assembly cache (GAC) using the .NET utility Gacutil.exe or Regasm.exe.