Introduction to .net Framework 3.0

NET Framework 3.0, formerly called WinFX , includes a new set of managed code APIs that are an integral part of the upcoming

Windows Vista and Windows Server “Longhorn” operating systems.

.Net Framework is also available on Win XP SP2.Net Framework 3.0 consists of four new components

1. Windows Presentation Foundation :WPF is also called avalon. Avalon is a two-dimensional (2-D) and

three-dimensional (3-D) graphics engine with the following characteristics and


->> Contains many common user interface components, including buttons,sliders, and edit boxes
->> Does 2-D and 3-D animation
->> Contains hyperlinks (for navigating between documents) and tables
->> Provides various types of grids and panels to assist in layout
->> Has multipage fixed-format and flow-format document layout, styles, storyboards, timelines,
effects, data binding, and so on

Avalon uses the markup language called XAML. XAML is a declarative XML-based language that defines objects and their

properties in XML.When using XAML with Avalon, the procedural code (code behind) is separate from the user interface
(UI). The advantage to this approach is that it enables teams to work together at the same time.

below is the example of XAML

< ListBox Name=”lbox” Height=”127” Width=”154”>
 < ListBoxItem Name=”lBoxItem1” Background=”Aqua” Width=”100”>
< ContentControl.Content>
Item One
< /ContentControl.Content>
< ContentControl.Height>
< /ContentControl.Height>
< /ListBoxItem>
< ListBoxItem Name=”lBoxItem2”>
Item Two
< /ListBoxItem>
< ListBoxItem Name=”lBoxItem3” Content=”Item Three” />
< /ListBox>

2. Windows Communication Foundation (WCF) WCF is also called Indigo; a service-oriented messaging system which

allows programs to interoperate locally or remotely similar to web services.Here are the design goals of Indigo

->>Create a new unified communications API
->>Base it on service-oriented architecture
->>Provide a new and robust way of implementing Remoting and Web Services (WS)
->>Support most WS-* specifications.

3. Windows Workflow Foundation (WF): Windows Workflow Foundation (WF) is a Microsoft technology for defining,

executing and managing workflows. This technology is part of .NET Framework 3.0 and will be available natively in the Windows

Vista operating system. The technology will also be backported to the Windows XP and Windows 2003 Server operating systems.

The .NET Framework 3.0 “workflow runtime” provides common facilities for running and managing the workflows and can be hosted

in any CLR app domain. Windows Workflow Foundation is the client side component of BizTalk Server.

->> XAML is commonly used for declaring the structure of a workflow

4. Windows CardSpace Formerly known by its codename InfoCard, is a framework developed by Microsoft which

securely stores digital identities of a person, and provides an unified interface for choosing the identity for a particular

transaction, such as logging in to a website. Windows CardSpace is a central part of Microsoft’s effort to create an Identity

Metasystem, or an unified, secure and interoperable identity layer for the Internet.

What do you need to develop WindowFX development

–>>Windows Longhorn Client Beta 1, Windows XP Service Pack 2, or Windows Server 2003 (you
must also install components such as IIS)
–>> Visual Studio 2005 Beta 2
–>> SQL Server 2005
–>> WinFX Beta 1
–>> WinFX Beta 1 Software Developer Kit (SDK)
–>> Optional: Microsoft VirtualPC 2004. (In fact, it is strongly recommend that you use this product
to install any Beta product. You can download a trial version on the Microsoft Web site.)

Introduction to .NET with Basic Shotcuts and Secrets for the Beginner


.NET is a new environment for developing and running software applications, featuring ease of development of web-based services, rich standard runtime services available to component written in variety of programming languages and inter-language and intermaching interoperability.

What lead to the development of .NET?

C and C++ Application are Monolithic Applications. In these types of applications the entire business logic is in .exe files.

Then the Software society needed a new tier to seperate the database. This led to a new architecture 2-Tier Architecture. In this architecture, Client sending data to the server needs Validation rules. The only disadvantage with this architecture is If there is any change in the logic everything should be done on the client side.

Then came a new architecture,3-Tier Architecture. In this architecture Client acts as a simple User Interface. Client,Business layer,Server(database) comprises of 3-tier architecture. .NET is meant for generating 3-tier architectures (Server side Programming).

There are many problems with Server Side Applications:
1) Memory Management
2) Security
3) Exception Handling
4) Strict Type Checking

How .NET solves Server Side Application Problems?

1) Memory Management:
Any object that has no reference has to be deleted to save memory. .NET provide powerful Garbage collector.

2) Security :
.NET provides both Userlevel Security and Code level Security.

3) Exception Handling:
.NET provides Exception handler, which alerts about the exception rather than crashing the application.

4) Strict Type Checking:
.NET provides strong Type Checker unlike the conventional way of fooling the compiler at compile time resulting in absurd output.

There are many other interesting features in .NET like CLR with components like Class loader, Code Manager, Garbage Collector, Security Engine , COM Marshaler and Base Class Library Support etc.,


Multiple versions of .NET Framework can be installed on the server.

Fonts can be changed in IDE through Tools -> Options Environment folder-> Fonts and colors

Code snippets can be stored within Toolbox Window. Select code and drag and drop in the ToolBox Window. It can be in HTML Section or General Section.

Commenting large Section of code Ctrl+K+C
UnCommenting Ctrl+K+U

Tired of working on Enterprise Manager everytime there is a change in the database. Here’s a simple solution…One can make use of the Server Explorer in the IDE to change the table or to run a query and can work with Event Logs and many more advanced properties.

Q)Which layout is preferred in web application involving data from the database?
Flow Layout.
Grid Layout has problems with repeater control( falls in the upper right corner as the css positioning is designed in such a way) and DataGrid (Datagrid grows as the data is populated dynamically underneath the bottom of page and if any button is used, there are further problems (try it out !!!)

Q)Can we use both FlowLayout and GridLayout modes Together?

Benefits of Framework 2.0

1) Improved were scenarios like Data set insertion and multi-threaded scenarios (such as ASP.NET applications) using SqlDataReader (25% better or more, depending on hardware and OS architecture).
2) The new generation of 64-bit computers enables the creation of applications that can run faster and take advantage of more memory than is available to 32-bit applications.
3) An access control list (ACL) is used to grant or revoke permission to access a resource on a computer. New classes have been added to the .NET Framework that allow managed code to create and modify an ACL, and new members that utilize an ACL have been added to the I/O, registry, and threading classes.
4) New features in ADO.NET include support for:
a. user-defined types (UDT)
b. asynchronous database operations
c. XML data types
d. large value types
e. snapshot isolation
f. Allow applications to support Multiple Active Result Sets (MARS) with SQL Server 2005 code named Yukon.
5) The capability of assigning the long-running operation to a background thread gives the foreground thread the ability to remain active throughout the operation. (Asynchronous Processing) This can include following areas
a. File IO, Stream IO, Socket IO
b. Networking: HTTP, TCP
c. Remoting channels (HTTP, TCP) and proxies
d. XML Web services created using ASP.NET
e. ASP.NET Web Forms
f. Message Queuing using the MessageQueue Class.
g. Asynchronous delegates
6) Database cache invalidation-You can cache an item…and set it to invalidate if the underlying datasource changes. Really helpful on a website where you can cache data on your pages and then if the database table changes your cache will expire and the next request to the page will get new data and then cache it until it changes.
7) Performance will increase drastically with SQL dependency cache. Also you can improve your performance even more with asynchronous call backs. The pre-JITter, NGen, has considerably improved.
8) Improvements in security support include:
a. You don’t need to drop to the Win32 API as much when dealing with X509 certificates or XML encryption – the support is now there in the Framework.
b. There is a new data protection API. This means, amongst other things, that you can now encrypt file contents with just one or two lines of code.
c. There is new support for access control lists (ACLs)
9) Ajax (Asynchronous JavaScript and XML) is the new feature which is introduce in the framework 2.0

A glance at .NET Framework 3.0

In the programming field, .NET is the most successful development platform..Net Framework 2.0 is enough to satisfy for most of us. .NET Framework 3.0 came with many new and useable features. With .NET Framework 3.0, developers feel more easy when develops. In the new version of .NET, there is nothing new with CLR (Common Language runtime) but it introduces four new technologies.Are we not apprehensive about accepting anything newer, especially if that is going to deprecate the existing one?The latest versions of .NET are .NET Framework 3.0. Programming with .NET Framework 3.0 become more advance.It is built with all the advantage of .NET framework 2.0, and is all set to bring in a paradigm shift in the way we write our applications today. When we go to develop any application then the main goal we set is, to create the Best application in least amount of time. The .NET Framework 3.0 will still ship with Windows Vista, and will be available down-level for Windows XP and Windows Server 2003 as planned.This newly released framework was earlier named as WinFx! .NET Framework 3.0 , compromise of familiar .NET Framework2.0 components (ASP.NET, ADO.NET, Window Forms etc).There are four new technologies in .NET Framework 3.0. These technologies are added to face the new challenge of software development. These new complementary technologies are added to address some of the most arduous challenges of contemporary software development.

The New in .NET Framework 3.0

Here .NET Framework 3.0 is same like as .NET Framework 2.0, but with some new technology and feature. The entire features are same in new framework, which was in .NET Framework 2.0. The .NET 3.0 introducing four new foundation technologies:

Windows Presentation Foundation (WPF)
Windows Communication Foundation (WCF)
Windows Workflow Foundation (WWF)
Windows CardSpace (WCS)

While the .NET Framework 2.0 class library is partially superseded by the new components (WF, WCF, and WPF) added in version 3.0, many portions of the original class library are still crucial to developers. The technologies of version 2.0 (ASP.NET, WinForms, ADO.NET, XML etc.) largely remain the elementary part of the new release; however, the developer of .NET Framework 3.0, mostly use WPF over windows Forms.

Windows Workflow Foundation (WF)

Windows Workflow Foundation (WWF) is a Microsoft technology for defining, executing, and managing workflows. Workflow as it name implies. It shows the flow of work; mean how the work is going, how activities are performing. WF provides such a common workflow technology for Windows.If we have to make workflow enabled application on windows then we use Windows Workflow Foundation.

System.Workflow is the namespace of Windows Workflow Foundation in Microsoft .NET Framework version 3.0. Windows Workflow Foundation provides full support for Visual Basic .NET and C#, debugging, a graphical workflow designer and the ability to develop our workflow completely in code. A workflow is a set of activities stored as a model that describe a real world process. Each Activity can be represented as a class.By using this we can reuse that activity easily. With WF, we can understand with our flow of operation. We can easily understand with our all activity.

Windows Presentation Foundation (WPF)

The Windows Presentation Foundation (WPF), also named Avalon, is the graphical subsystem feature of the .NET Framework 3.0. WPF is a consistent programming model for building solutions, and enables the use of richer controls, design, and development in Windows programs. In most windows application user interface play an important role .A developer needs to use Windows Forms to build a Windows GUI, or HTML/ASPX/Applets/JavaScript etc. Developer’s job become tough here when he go to, building a coherent user interface for different kinds of clients using diverse technologies isn’t a simple job. WPF provide consistent platform for these entire user interface aspects to solve the problem. WPF support video, animation, 2/3D graphics, and various kinds of documents.

Windows Communication Foundation (WCF)

WCF means programmes can communicate between each other either they are on same computer or in networking .Windows Communication Foundation is a communications infrastructure built around the Web services architecture. When the application becomes built then most of the application need to communication between each other. This was a big problem in last few years, so all vendors becomes agreed to support SOAP based web services, which make interoperability between application, either they are from same platforms or different platforms.The WCF programming model unifies web services, .NETRemoting,distributed transactions, and message queues into a single service-oriented programming model for distributed computing. However, instead of requiring developers to use a different technology with a different application programming interface for each kind of communication, WCF provides a common approach and API. WCF provides strong support for interoperable communication through SOAP.

Windows CardSpace (WCS)

Windows CardSpace (InfoCard) is a Digital Identity to online services. Digital Identity means how user will electronically represent them. Like as a debit/credit card each card has digital identity and password. If any user go to use the site on internet then he enter their username and password, for identity, but this is not secure. To reduce these types of problems WCS works. WCS (originally called Info Card) helps people keep track of their digital identities as distinct information cards. If a Web site accepts WCS logins, users attempting to log in to that site will see a WCS selection. By choosing a card, users also choose a digital identity that will be used to access this site. CardSpace and the new supporting technologies will change how you authenticate into an application, whether it sits on the Web, your phone, or your desktop.

Benefits of framework 3.0/3.5

1) Fire fox support
2) Windows Presentation Foundation provides rich capability for rendering objects and user interfaces in client applications.
3) Windows CardSpace, which is useful in developing single sign-on applications, ensures that users don’t have to continually type in ID and passwords.
4) Windows Workflow Foundation provides a tool chest for developing workflow into applications.
5) Windows Communication Foundation offers a way to exchange data among applications structured as a service-oriented architecture.
6) As a whole, the .NET Framework 3.0 also better exposes the capabilities for providing better cohesion between desktops and data centers.
7) The Microsoft AJAX Library supports client-centric, object-oriented development, which is browser-independent. By using the library classes in your ECMAScript (JavaScript) you can enable rich UI behaviors without roundtrips to the server.
8) Pipes provide interprocess communication between any processes running on the same computer, or on any other Windows computer within a network. The .NET Framework provides access to two types of pipes: anonymous pipes and named pipes. For more information about pipes, see Pipes.
9) The new ReaderWriterLockSlim class provides performance that is significantly better than ReaderWriterLock, and comparable with the lock statement (SyncLock in Visual Basic). Transitions between lock states have been simplified to make programming easier and to reduce the chances of deadlocks. The new class supports recursion to simplify migration from lock and from ReaderWriterLock.
10) Peer-to-peer networking is a serverless networking technology that allows several network devices to share resources and communicate directly with each other.
11) The .NET Framework 3.5 unifies the Windows Workflow Foundation (WF) and Windows Communication Foundation (WCF) frameworks so that you can use WF as a way to author WCF services or expose your existing WF workflow as a service. This enables you to create services that can be persisted, can easily transfer data in and out of a workflow, and can enforce application-level protocols.
12) WCF and ASP.NET AJAX Integration is integration of WCF with the Asynchronous JavaScript and XML (AJAX) capabilities in ASP.NET provides an end-to-end programming model for building Web applications that can use WCF services. In AJAX-style Web applications, the client (for example, the browser in a Web application) exchanges small amounts of data with the server by using asynchronous requests.
13) Windows Presentation Foundation contains changes and improvements in numerous areas, including versioning, the application model, data binding, controls, documents, annotations, and 3-D UI elements.
14) Existing Windows Forms applications work seamlessly on Windows Vista, and they are upgraded to have the same appearance as applications written specifically for Windows Vista whenever possible.
15) LINQ extends powerful query capabilities to the language syntax of C# and Visual Basic in the form of standard, easily-learned query patterns. This technology can be extended to support potentially any kind of data store. The .NET Framework 3.5 includes LINQ provider assemblies that enable the use of LINQ for querying .NET Framework collections, SQL Server databases, ADO.NET Datasets, and XML documents.
16) ADO.NET gets paging support as well as synchronization from caches at local and server datastores. Also performance improvements for multicore CPUs

.net framework

Net Framework1.0: –

This is the initial version of Microsoft .NET Framework.

.Net Framework 1.1: –

This is the major upgrade to the .NET Framework 1.0 to provide:

1) .NET Compact Framework – a version of the .NET Framework for small devices
2) Internet Protocol version 6 (IPv6) support
3) Built-in support for ODBC and Oracle databases: previously available as an add-on for .NET Framework 1.0, now part of the framework
4) Built-in support for mobile ASP.NET controls: previously available as an add-on for .NET Framework, now part of the framework
5) Security changes: enable Windows Forms assemblies to execute in a semi-trusted manner from the Internet and enable Code Access Security in ASP.NET applications
6) Numerous API changes and many more

.Net Framework 2.0: –

This version shipped with Microsoft Windows Server 2003 Release Candidate [RC]. This is the last version with support for Microsoft Windows 2000.

Changes in .NET Framework since 1.1:

1) Full 64-bit support for both the x64 and the IA64 hardware platforms.
2) Language support for Generics built directly into the .NET CLR.
3) Many additional and improved ASP.NET web controls.
4) New data controls with declarative data binding.
5) New personalization features for ASP.NET, such as support for themes, skins and webparts.
6) Numerous API changes and many more.

Microsoft started development on the .NET Framework in the late 1990s originally under the name of Next Generation Windows Services (NGWS). By late 2000 the first beta versions of .NET 1.0 were released.[16]

The .NET Framework stack.Version Version Number Release Date
1.0 1.0.3705.0 2002-01-05
1.1 1.1.4322.573 2003-04-01
2.0 2.0.50727.42 2005-11-07
3.0 3.0.4506.30 2006-11-06
3.5 3.5.21022.8 2007-11-19

A more complete listing of the releases of the .NET Framework may be found on the .NET Framework version list.

[edit] .NET Framework 1.0
This is the first release of the .NET Framework. Released on February 13, 2002. Available for Windows 98, NT 4.0, 2000, and XP. Mainstream support by Microsoft for this version ended July 10th, 2007, and extended support ends July 14th, 2009.[17]

[edit] .NET Framework 1.1
This is the first major .NET Framework upgrade. It is available on its own as a redistributable package or in a software development kit, and was published on April 3, 2003. It is also part of the second release of Microsoft Visual Studio .NET (released as Visual Studio .NET 2003). This is the first version of the .NET Framework to be included as part of the Windows operating system, shipping with Windows Server 2003. Mainstream support for .NET Framework 1.1 ends on October 14th, 2008, and extended support ends on October 8th, 2013. Since .NET 1.1 is a component of Windows Server 2003, extended support for .NET 1.1 on Server 2003 will run out with that of the OS – currently June 30th, 2013.

[edit] Changes since 1.0
Built-in support for mobile ASP.NET controls. Previously available as an add-on for .NET Framework, now part of the framework.
Security changes – enable Windows Forms assemblies to execute in a semi-trusted manner from the Internet, and enable Code Access Security in ASP.NET applications.
Built-in support for ODBC and Oracle databases. Previously available as an add-on for .NET Framework 1.0, now part of the framework.
.NET Compact Framework – a version of the .NET Framework for small devices.
Internet Protocol version 6 (IPv6) support.
Numerous API changes.

[edit] .NET Framework 2.0
Released with Visual Studio 2005, Microsoft SQL Server 2005, and BizTalk 2006.

The 2.0 Redistributable Package can be downloaded for free from Microsoft, and was published on 2006-01-22.
The 2.0 Software Development Kit (SDK) can be downloaded for free from Microsoft.
It is included as part of Visual Studio 2005 and Microsoft SQL Server 2005.
Version 2.0 is the last version with support for Windows 2000, Windows 98 and Windows Me.
It shipped with Windows Server 2003 R2 (not installed by default).

[edit] Changes since 1.1
Numerous API changes.
A new hosting API for native applications wishing to host an instance of the .NET runtime. The new API gives a fine grain control on the behavior of the runtime with regards to multithreading, memory allocation, assembly loading and more (detailed reference). It was initially developed to efficiently host the runtime in Microsoft SQL Server, which implements its own scheduler and memory manager.
Full 64-bit support for both the x64 and the IA64 hardware platforms.
Language support for generics built directly into the .NET CLR.
Many additional and improved ASP.NET web controls.
New data controls with declarative data binding.
New personalization features for ASP.NET, such as support for themes, skins and webparts.
.NET Micro Framework – a version of the .NET Framework related to the Smart Personal Objects Technology initiative.

[edit] .NET Framework 3.0
.NET Framework 3.0, formerly called WinFX,[18] includes a new set of managed code APIs that are an integral part of Windows Vista and Windows Server 2008 operating systems. It is also available for Windows XP SP2 and Windows Server 2003 as a download. There are no major architectural changes included with this release; .NET Framework 3.0 uses the Common Language Runtime of .NET Framework 2.0.[19] Unlike the previous major .NET releases there was no .NET Compact Framework release made as a counterpart of this version.

.NET Framework 3.0 consists of four major new components:

Windows Presentation Foundation (WPF), formerly code-named Avalon; a new user interface subsystem and API based on XML and vector graphics, which uses 3D computer graphics hardware and Direct3D technologies. See WPF SDK for developer articles and documentation on WPF.
Windows Communication Foundation (WCF), formerly code-named Indigo; a service-oriented messaging system which allows programs to interoperate locally or remotely similar to web services.
Windows Workflow Foundation (WF) allows for building of task automation and integrated transactions using workflows.
Windows CardSpace, formerly code-named InfoCard; a software component which securely stores a person’s digital identities and provides a unified interface for choosing the identity for a particular transaction, such as logging in to a website.

[edit] .NET Framework 3.5
Version 3.5 of the .NET Framework was released on November 19, 2007, and is included with Windows Server 2008. As with .NET Framework 3.0, version 3.5 uses the CLR of version 2.0. In addition, it installs .NET Framework 2.0 SP1 and .Net Framework 3.0 SP1, which adds some methods and properties to the BCL classes in version 2.0 which are required for version 3.5 features such as Language Integrated Query (LINQ). These changes do not affect applications written for version 2.0, however.[20]

As with previous versions, a new .NET Compact Framework 3.5 was released in tandem with this update in order to provide support for additional features on Windows Mobile and Windows Embedded CE devices.

The source code of the Base Class Library in this version has been partially released under Microsoft Reference License.[1]

[edit] Changes since version 3.0
New language features in C# 3.0 and VB.NET 9.0 compiler
Adds support for expression trees and lambda methods
Extension methods
Expression trees to represent high-level source code at runtime.[21]
Anonymous types with static type inference
Language Integrated Query (LINQ) along with its various providers
LINQ to Objects
Paging support for ADO.NET
ADO.NET synchronization API to synchronize local caches and server side datastores
Asynchronous network I/O API[21]
Peer-to-peer networking stack, including a managed PNRP resolver[22]
Managed wrappers for WMI and Active Directory APIs[23]
Enhanced WCF and WF runtimes, which let WCF work with POX and JSON data, and also expose WF workflows as WCF services.[24] WCF services can be made stateful using the WF persistence model.[21]
Support for HTTP pipelining and syndication feeds.[24]
ASP.NET AJAX is included
New System.CodeDom namespace.

[edit] SP1 (codename “Arrowhead”)
.NET Framework 3.5 SP1, codenamed “Arrowhead”, will reportedly enhance support for occasionally connected applications[25], and provide built-in support for the Microsoft ASP.NET Model-View-Controller (MVC) Framework.[26] “Arrowhead” will[27] increase the cold-start performance (startup when no other .NET Framework application has been started previously) of .NET Framework applications, by as much as 25 – 40%.[28] It will also hardware accelerate some WPF effects such as shadows, as well as general performance and API enhancements across the WPF stack. In addition, a set of WPF controls, including a DataGrid will also be included.[28] ADO.NET Entity Framework has also been added [29] which gives the database based application programmer a ORM (Object Relational Mapping) tool.

The easiest way to determine which versions of the .NET Framework are installed on a computer is to locate the %systemroot%\Microsoft.NET\Framework folder. You can paste the listed address for the Framework folder into a Windows Explorer address bar to navigate to the Framework folder. The three released versions of the .NET Framework are contained in the following folders:
• v1.0.3705
• v1.1.4322
• v2.0.50727
Note If you see other directories that have a vN.N.NXXXX format that are not listed in this article, the versions may be beta versions or pre-released versions of the .NET Framework.

To determine which versions of the .NET Framework are installed on a computer, follow these steps:1. Open any one of the folders in the previous list, and then locate the Mscorlib.dll file.
2. Right-click the file, and then click Properties.
3. Click the Version tab, and then note the file version.
4. Use the previous list to determine which version of the .NET Framework is installed on the computer, and then click OK.

Repeat these steps for each version of the .NET Framework on the computer.

Microsoft .NET Framework redistributable package installs the .NET Framework runtime and associated files required to run applications developed to target the .NET Framework.

The primary focus of Microsoft .NET Framework 1.1 Service Pack 1 (SP1) is improved security. In addition, the service pack includes roll-ups of all reported customer issues found after the release of the Microsoft .NET Framework 1.1. Of particular note, SP1 provides better support for consuming WSDL documents, Data Execution prevention and protection from security issues such as buffer overruns. SP1 also provides support for Windows XP Service Pack 2 to provide a safer, more reliable experience for customers using Windows XP.

The Microsoft .NET Framework 3 is the new managed code programming model for Windows®. It combines the power of the .NET Framework version 2.0 with new technologies for building applications that have visually compelling user experiences, seamless communication across technology boundaries, and the ability to support a wide range of business processes. These new technologies are Windows Presentation Foundation, Windows Communication Foundation, Windows Workflow Foundation, and Windows CardSpace.
The .NET Framework 3 is included as part of the Windows Vista operating system; you can install it or uninstall it using Windows Features Control Panel. This redistributable package is for Windows XP and Windows Server 2003.

Basic .Net Framework


This article contain detailed description of .Net Framework and its function. This article very useful to the .net beginners.

Intermediate Language (IL)

The (IL)Intermediate Language also known as MSIL (Microsoft Intermediate Language) or CIL (Common Intermediate Language), .NET source code is compiled to IL. This IL is converted to machine code at the point where the software is installed, or at run-time by a Just-In-Time (JIT) compiler.

Common Language Runtime (CLR)

The CLR is Common Language Runtime and it forms the heart of the .NET framework. All languages have runtime and its the responsibility of the runtime to take care of the code execution of the program. The CLR responsibilities are

a/ Intermediate language
b/ Code Verification
c/ Garbage Collection
d/ Code Access Security

Common Type System (CTS) and Common Language Specification (CLS)

The CTS can be used to accept other languages through the .net platform. Its contain all type of
datatypes and the possible coding or programing structure. The .Net supports nearly twenty languages
by this concept. This is a subset of the CTS which all .NET languages are expected to support.It was always a dream of microsoft to unite all different languages in to one umbrella and CLS is one step towards that.Microsoft has defined CLS which are nothing but guidelines that language to follow so that it can communicate with other .NET languages in a seamless manner.

Managed Code

Managed code runs inside the environment of CLR i.e. .NET runtime.In short all IL are managed
code.But if you are using some third party software example VB6 or VC++ component they are
unmanaged code as .NET runtime (CLR) does not have control over the source code execution
of the language.


Assembly is unit of deployment like EXE or a DLL. An assembly is completely self-describing.An assembly contains metadata information, which is used by the CLR for everything from type checking and security to actually invoking the components methods.As all information is in assembly itself it is independent of registry.This is the basic advantage as compared to COM where the version was stored in registry. In shared assembly deployment, an assembly is installed in the Global Assembly Cache (or GAC). The GAC contains shared assemblies that are globally accessible to all .NET applications on the machine.


NameSpace Logically group types. In Object Oriented world may times its possible that programmers will use the same class name.By qualifying NameSpace with classname this collision can be removed. Example System.Web.UI logically groups our UI related features.


Assembly metadata is stored in Manifest. The assembly manifest can be stored in either a PE file (an .exe or .dll) with Microsoft intermediate language (MSIL) code or in a stand-alone PE file that contains only assembly manifest information.