.NET is a Microsoft framework that includes a very large library and supports a number of programming languages. This library is available to all languages that are supported by .NET. Its programs do not execute in hardware but in a software environment. This environment is called the Common Language Runtime or CLR. This way, programmers need not consider the capability of the particular CPU that will be used to execute the program. CLR will also give additional advantages like security, exception handling and management of the memory. The .NET framework is comprised of the CLR and the class library and it is intended to be useful to many Windows applications.
Memory management is made very easy by the CLR of the .NET framework. The memory management is automatic although one cannot be sure when the Garbage Collector is going to do its task. It might be important to issue a double call that is explicit. This Microsoft framework has a Garbage Collector (GC), which is compacting, non-deterministic and is mark-and-sweep. When a particular amount of memory has been utilized or the memory is experiencing some pressure, GC is made in such a way to be deterministic because it is not guaranteed exactly when memory needs to be reclaimed. The .NET framework uses a generational GC. All objects belong to a generation with the newest ones belonging to generation 0. Generation 1 has objects which have survived garbage collection. When objects in generation 1 survive another collection, they become generation 2 objects. The higher the generation, the less the garbage collection is done. This raises the GC’s efficiency because newer objects have fewer lifetimes compared to the old ones. When the old objects are removed, only a few objects are left to be acted upon.
The .NET Microsoft Framework has assemblies that should be stored only in the Portable Executable format. The assembly contains at least one file. One of these files must have the manifest that has the assembly’s metadata. An assembly’s full name is not to be confused with the filename that has its text name, public key token, number of versions etc. Once an assembly has been compiled, the public key token is usually generated. Two assemblies which have the same public key token should appear identical from the point of view of the Microsoft framework. The person who created the assembly can also come up with their own private key. This is important for strong naming and guaranteeing that assemblies are from the same author. In terms of security, the Microsoft framework has a good security system that has two features. The code access feature is usually based on a particular assembly and it makes use of evidence to determine which permissions the code is granted.
Developing different projects over the years our outsource software development team used MS Framework in so many of them, for example: Short Sale Online Marketplace, iPhone, WinPhone and Android Trivia Application, Talent Metric Recruiting and Workforce Management, Online Real Estate Marketplace, Analytics Baseline Performance Measurement System, File and Document Storage System, Software Solution For Real Estate Agents, Music Production Library, Latvian Government Archive System, Digital Library of Latvian National Library, Electronic Signature – Microsoft Latvia, Ronald McDonald House Charities Latvia Website, DSA Training System, Social Web Portal and others.