DotNet Framework is a Programming model of the .NET environment for building, deploying, and running Web-based applications, smart client applications, and XML Web services. It enables the developers to focus on writing the business logic code for their applications. The .NET Framework includes the common language runtime and class libraries.
Following are the core features of DotNet Framework
- Simplified Programming Model
- Simplified Deployment
- Programming Language Integration
- Garbage Collection
- Consistent Error Handling
Simplified Programming Model
All operating system services accessed through common object-oriented programming model (E.g.) File Access, Data Access, Threading and Graphics. The CLR removes many cumbersome concepts.
Simplified Deployment
Installing most .NET applications involves copying files to a directory, Adding a shortcut to Start menu, desktop, or Quick Launch bar and registry access. No more GUIDs, ClassIDs, etc are required. To uninstall, just delete the files.
Language Interoperability
The CLR allows different programming languages to share types.The CLR provides a Common Type System (CTS)
CTS is also a set of standards. CTS defines the basic data types that IL understands. Each .NET compliant language should map its data types to these standard data types. This makes it possible for the 2 languages to communicate with each other by passing/receiving parameters to/from each other. For example, CTS defines a type Int32, an integral data type of 32 bits (4 bytes) which is mapped by C# through int and VB.Net through its Integer data type
Common Language Specification (CLS) Defines the minimum set of features that all .NET languages that target the CLR must support
Garbage Collection
The CLR automatically tracks all references to memory When a block of memory no longer has any “live” references to it, it can be released and reused (collected)
Consistent Error Handling
Traditional Win32 programming incorporates many different error handling mechanisms Status Codes, GetLastError, HRESULTS and Structured Exceptions. In the CLR, all failures are reported via Exceptions.
DotNet Framework Components
- Common Language Runtime (CLR)
- Common type system for all languages
- Rich runtime environment
- Rich class libraries (.NET Framework)
- Base class libraries, ADO.NET and XML
- Windows Forms for rich, Win32 applications
- Web application platform ASP.NET
- Rich, interactive pages
- Powerful web services
DotNet Framework Architecture
Common Language Runtime
The Common Language Runtime (CLR) is a runtime engine that manages .NET Code (such as C# applications). It Provides features such as memory management, thread management, object type safety, security, etc. It is a part of the .NET Framework
Managed code is a code that targets the CLR. Any .NET Language, including C#, Visual Basic, C++, Java, Cobol, etc.
Common Language Runtime
Framework Class Library
Dotnet framework contains a huge collection of reusable types(class, enumerations and structures). This types are used for common task such as IO, Memory and Thread management. A complete objet oriented toolbox is available wit Visual Studio DotNet.
Assemblies
Assemblies are the basic unit of any application. It is a logical grouping of one or more modules or files. Smallest unit of reuse, security, and versioning. Assemblies can be created directly by compiler (e.g. DCCIL.exe, CSC.exe, VBC.exe). It contain resource data (strings, icons, etc.) and are loaded at runtime based on user locale. Assemblies can be private or shared. It can also be stored in Global Assembly Cache (GAC)
Namespaces
A namespace is a logical container for types. it is designed to eliminate name collisions. An assembly can contribute to multiple namespaces, Multiple assemblies can contributed to a namespace
Examples
- System.Drawing
- System.Windows.Forms
Related Posts
- Issues and Resolution while Migrating from DotNet Framework 1.1 to 2.0
- How to Create a Setup Package in Visual Studio .net
- Asp.net 4.0 Webform Features
- DB2 with DotNet and SQL Server Reporting Services
- Visual Studio 2010 Great functionality for Developers
Tags: ado.net, asp.net, clr, cls, cts, dotnet framework, gac, garbage handling, XML




