Interoperability
:-
Because computer systems commonly require
interaction between new and older applications, the .NET Framework provides
means to access functionality that is implemented in programs that execute
outside the .NET environment. Access to COM components is provided in the
System.Runtime.InteropServices and System.EnterpriseServices namespaces of the
framework; access to other functionality is provided using the P/Invoke
feature.
Common Runtime
Engine :-
The Common Language Runtime (CLR) is the execution engine of
the .NET Framework. All .NET programs execute under the supervision of the CLR,
guaranteeing certain properties and behaviors in the areas of memory
management, security, and exception handling.
Language Independence
:-
The .NET Framework introduces a Common Type System, or CTS.
The CTS specification defines all possible data types and programming
constructs supported by the CLR and how they may or may not interact with each
other conforming to the Common Language Infrastructure (CLI) specification.
Because of this feature, the .NET Framework supports the exchange of types and
object instances between libraries and applications written using any
conforming .NET language.
Base Class
Library :-
The Base Class Library (BCL), part of the Framework Class
Library (FCL), is a library of functionality available to all languages using
the .NET Framework. The BCL provides classes which encapsulate a number of
common functions, including file reading and writing, graphic rendering,
database interaction, XML document manipulation and so on.
Simplified Deployment :-
The .NET Framework includes design features and tools that
help manage the installation of computer software to ensure that it does not
interfere with previously installed software, and that it conforms to security
requirements.
Security :-
The design is meant to address some of the vulnerabilities,
such as buffer overflows, that have been exploited by malicious software.
Additionally, .NET provides a common security model for all applications.
Portability :-
The design of the .NET Framework allows it to theoretically
be platform agnostic, and thus cross-platform compatible. That is, a program
written to use the framework should run without change on any type of system
for which the framework is implemented. While Microsoft has never implemented
the full framework on any system except Microsoft Windows, the framework is
engineered to be platform agnostic, and cross-platform implementations are
available for other operating systems.
Microsoft submitted the specifications for the Common
Language Infrastructure (which includes the core class libraries, Common Type
System, and the Common Intermediate Language), the C# language, and the C++/CLI
language to both ECMA and the ISO, making them available as open standards.
This makes it possible for third parties to create compatible implementations
of the framework and its languages on other platforms.