.Net is a technology from the Microsoft Corporation for developing applications for Desktop, web and mobile. All future technologies of Microsoft will depend on .Net.
.NET is a general-purpose software development platform, similar to Java.
.Net Technology includes the following features:
- An application that is developed for it will run on any operating system provided .the Net Framework is instlled.
- .NET provides a common set of class libraries that can be accessed from any .NET based programming language. There will not be a separate set of classes and libraries for each language. If you know any one .NET language then you can write code in any .NET language.
Multiple Language Support
.NET supports around 44 languages like C# (Standard ECMA-334 C#), VB.NET, Visual J# (J Sharp), C++/CLI (Standard ECMA-372 C++/CLI) and so on.
- Unicode Character Support for multilingual application development.
- Built-in support for XML and Web Service.
- Working in a Disconnected Environment (DataSet, DataAdapter, DataTable, DataRow).
Tools used to develop .NET applications
- The .NET Framework SDK is free and includes command-line compilers for C++, C#, and VB.NET and various other utilities to aid development.
Microsoft Visual Studio.Net IDE and the .Net Framework
The .NET Framework SDK must be installed in your machine in order to develop any .NET application as well as in the client machine to run the .NET application.
- .Net Framework SDK is free on Microsoft Site.
- It contains language compilers (csc.exe for C#, vbc.exe for VB.NET and others), libraries for application development and so on.
Components Within .Net Framework
CLR (Common Language Runtime): It the runtime engine for any .NET applications.
The following are the functions of the CLR:
- Conversion of MSIL into executable machine code by the JIT compiler
- Memory Management
- Exception Handling
- Thread Management
- Security Management
Framework Class Library ( FCL )
It contains many classes, interfaces, structures and enumerated types within it, that are arranged in hierarchical manner under various namespaces.
A namespace is logical container of classes and other namespaces.
"System" is the root namespace. (It is included in all types of application development.)
The FCL is common for all .NET languages, in other words no separate set of libraries for separate languages.
CLS (Common Language Specification)
It is an agreement among language designers and class library designers to use a common set of basic language features that all languages need to follow.
CTS (Common Type System)
It is a data type system that is used in all .NET languages.
The following are some data types in the CTS:
- System.Int16
- System.Int32
- System.Int64
- System.Char
- System.String
- System.Boolean
- System.Single
- System.DateTime
- System.Object
Compilation and Execution Procedure of a .Net Application
As shown in the diagram, source code can be in any .NET language, such as C# or VB.Net.
If C# then the file name extension is .cs if VB then it is .vb.
As per language selection in coding, the language compiler of that language will be used.
In other words for C# it is Csc.exe , for Vb.NET it is Vbc.exe.