What is Microsoft .Net Framework
The Microsoft .Net Framework is a platform that provides tools and technologies you need to build Networked Applications as well as Distributed Web Services and Web Applications. The .Net Framework provides the necessary compile time and run-time foundation to build and run any language that conforms to the Common Language Specification (CLS).The main two components of .Net Framework are Common Language Runtime (CLR) and .Net Framework Class Library (FCL).
The Common Language Runtime (CLR) is the runtime environment of the .Net Framework , that executes and manages all running code like a Virtual Machine . The .Net Framework Class Library (FCL) is a huge collection of language-independent and type-safe reusable classes. The .Net Framework Class Libraries (FCL) are arranged into a logical grouping according to their functionality and usability is called Namespaces.
.Net Framework Architecture
The .Net Framework Architecture is the programming model for the .NET platform. It provides a managed execution environment, simplified development and deployment and integration with a wide variety of programming languages. The .NET Framework class library (FCL) is a comprehensive, object-oriented collection of reusable types that you can use to develop applications. The common language runtime (CLR) is the core runtime engine for executing applications in the .NET Framework. The CLR is fully protected from the outside environment and highly optimized within, taking advantage of the services that the CLR provides such as security, performance, deployment facilities, and memory management , including garbage collection.
Design Features Of .NET Framework
The principal design features of Microsoft .NET Framework are:
- Language independence
- Type safety
- Memory management
Language interoperability is the ability of code to interact with code that is written using a different programming language. It can help maximize code reuse and, therefore, improve the efficiency of the development process. The .NET components can communicate with the existing COM components without migrating to those components into .NET. That means, this feature is a great help to reduce the migration cost and time. PIAs (Primary Interop Assembly) provide the information that supports interoperability between .NET and COM.
While Microsoft has never implemented the full framework on any operating system except Microsoft Windows, it has engineered the framework to be cross-platform , and implementations are available for other operating systems. Portable class libraries can help you reduce the time and costs of developing and testing code. The Portable Class Library project type in Visual Studio environment helps you build cross-platform apps and libraries for Microsoft platforms quickly and easily. You can use this project type to write and build portable .NET Framework assemblies , and then reference those assemblies from apps that target other platforms such as the .NET Framework, iOS, or Mac. Microsoft presented the particulars for CLI (which incorporates the center class libraries, CTS, and CIL), and C++/CLI to both Ecma International (ECMA) and International Organization for Standardization (ISO), making them accessible as official models. This makes it feasible for outsiders to make perfect executions of the system and its dialects on different stages.
.NET Framework has its own security mechanism with two general features: Code Access Security (CAS), and identity-based security. Code Access Security (CAS) is based on evidence that is associated with a specific assembly. Using Code Access Security, you set policies and permissions on assemblies according to their publisher or where they were loaded from, for example. The user identity of the hosting process is irrelevant in the permission granting logic. Compared with Code Access Security, identity-based security represents a classic approach with which most developers are confident.
The .NET Framework is language independent. It is possible to use .Net from many programming languages because they have all agreed on some standards. This means that, as a programmer, you can develop in one of the many languages that target the .NET Framework, such as C#, C++/CLI, Eiffel, F#, IronPython, IronRuby, PowerBuilder, Visual Basic, Visual COBOL, and Windows PowerShell. The .NET Framework presents a Common Type System (CTS) that characterizes every conceivable data sorts and programming builds bolstered by Common Language Runtime and how they might communicate with each other fitting in with CLI determination. Because of this feature, .NET Framework supports the exchange of types and object instances between libraries and applications written using any conforming .NET language.
Type-Safety is a very important feature of .NET Framework and it is enforced by the CLR and the Language Compiler - in accordance to the CTS (Common Type System) directives of the .NET Framework. Type-safe code cannot perform an operation on an object that is invalid for that object. This prevents ill-defined casts, wrong method invocations, and memory size issues when accessing an object. For example, if you have declared a variable as an integer, it cannot be assigned any value which is not an integer (by implicit conversion, or explicit conversion).
Automatic memory management is one of the services that the Common Language Runtime provides during Managed Execution. Using the Garbage Collection (GC) Pattern method to limit or eliminate memory leaks in your .Net applications and provide a more efficient developer experience. The Common Language Runtime's garbage collector handled the allocation and release of memory for an application, which eliminates common problems such as missing to free an object and causing a memory leak , or attempting to access memory for an object that has already been released. More on... Garbage Collection
Microsoft .NET Framework Versions, Year and Download
.NET Framework 1.0 (2002-02-13) Download
.NET Framework 1.1 (2003-04-24) Download
.NET Framework 2.0 (2005-11-07) Download
.NET Framework 3.0 (2006-11-06) Download
.NET Framework 3.5 (2007-11-19) Download
.NET Framework 4.0 (2010-04-12) Download
.NET Framework 4.5 (2012-08-15) Download
.NET Framework 4.6 (2015-07-20) Download
.NET Framework 4.7 (2017-04-05) Download
.NET Framework 4.7.2 (2018-04-30) Download
The following lessons describes how to .Net Framework manages the code in compile time and run time .