What is .NET Framework?
.NET Framework is a software platform that provides a run time environment to develop various kind of application such as desktop application, web applications, web services etc.
.NET Framework is a new computing platform that simplifies application development in the highly distributed environment of the internet.
The .NET Framework has two components .NET Framework class library and the Common type system. .NET Framework class library provides types Common type system(CTS) that are common to all .NET languages.Common language run time (CLR) consists of (class loader) that load the intermediate (IL) code of a program into the run time, which compiles the IL code into native code, and executes and manage the code to enforce security and type safety, and provide thread support.
Below is the basic .Net framework architecture.
C#
|
VB
|
JavaScript
|
C++
|
VB Script
|
Etc..
|
Common Language Specification(CLS)
| |||||
ASP.NET, Web Forms,
Web Services, Mobile Internet Toolkit
|
Windows Forms
| ||||
ADO.NET and XML
| |||||
Base Class Library
| |||||
Common Language Run time
| |||||
Operating System
|
CLR: (Common Language Runtime)
Common Language Runtime is an application virtual machine that runs the code and provides important services such as security, code execution, memory management, garbage collection and exception handling which makes development process easier.
CTS:(Common Type System)
Common Type System is a specification for how types are defined, used and managed in run time. It establishes a framework that helps to provide cross-language integration. It also defines the rules for languages to follow, that help the objects written in different language to interact with each other.
Common type system supports two general categories: value types and reference types. Value types contain the data or value, and are allocated on stack whereas reference types store a reference to the value’s memory address, and are allocated on heap.
CLR provides a set of primitive types that all languages support. The data types include:
- Integer – three types: 16/32/64 bits
- Float – two types: 32/64 bits
- Boolean and Character
- DateTime and Time Span
CLS :( Common Language Specification)Type System)
Common Language Specification (CLS) is a set of rules that are needed by many applications. The rules that apply to common type system, apply to CLS as well, but the rules of CLS are stricter. CLS ensures interoperability by defining a set of features that developers can depend on and are available in wide variety of languages.
Thus due to Common Type System and Common Language Specification, .net framework supports language interoperability, cross-language integration, language independence, etc.
Releasing Memory
The garbage collector periodically releases memory from the objects that are no longer required by the application.
Difference between various .NET Framework versions
- Each .NET version is released with some significant improvements:
- .NET 1.0 - 2002 Initial version (1st release)
- .NET 1.1 - 2003 Update on 1.0, added provider for Oracle
- .NET 2.0 - 2005 Generics was introduced.
- .NET 3.0 - 2006 WPF, WCF, WF were introduced
- .NET3.5 - 2007 LINQ and ADO .NET Entity Framework
- .NET 4.0 - 2010 Dynamic support for languages and TPL (dynamic keyword introduced along with Task Parallel library )
- .NET 4.5 - 2012 Asynchronous programming support (async and await keyword introduced).
.NET Framework Tools
- Assembly Linker - Al.exe Tool
- IL Assembler - Ilasm.exe Tool
- IL Disassembler - Ildasm.exe Tool
- Ildasm tool is used to view PE file contains that is nothing but the MSIL code as a parameter and creates the text file that consists of managed code.
- Code Access Security Policy Tool - Caspol.exe Tool
- Syntax: caspol [options]
- .NET Framework Configuration Tool - Mscorcfg.msc
I hope you have liked this tutorial. I would like to have feedback from you. Your feedback, question ,queries or comments are always welcome.
Thanks.
What is .NET Framework?
Reviewed by CodiBucket
on
04:44
Rating:
Good article, useful as information, but not in a useful way. This is my subjective opinion. I like to be engaged in other things. I lead the project activities. I like to come up with projects, and then implement them by custom desktop software. I think it's better than sitting for years to learn programming, and then fail. This is a better way that would enter into the technological era.
ReplyDelete