The Microsoft .NET development platform is a new programming environment. This chapter gives a brief introduction to the Microsoft .NET Framework. The .NET Framework can be used to develop console applications, rich Windows GUI applications, Web applications, Web services, and Windows services applications.
Major limitations of previous Microsoft technologies, such as COM registration, lack of language interoperability, and so on, have been eliminated in Microsoft .NET Framework. Cross-language interoperability has been achieved with the help of the CLR, CTS, and CLS.
The CLR is an execution environment for applications written in .NET Framework. It offers various runtime services such as automatic garbage collection, code security, and scalability. Now Microsoft .NET Framework contains a rich base class library. The classes in this library are accessible by all languages targeted for the CLR. The .NET Framework class library contains classes that offer commonly used functionalities such as Windows and Web Forms, database handling, XML-related operations, file I/O operations, network-related operations, and security related operations.
The code targeted for Microsoft .NET platform produces MSIL, which is just-in-time compiled to generate native code. MSIL is known as the language of the CLR; it is a language in its own right. A developer can develop applications using MSIL. Language vendors can make their language .NET compliant by providing a compiler that converts the source code into MSIL.
Various considerations for migration have been discussed in this chapter. However, the decision to migrate or use the interoperability mechanism varies on case-to-case basis depending on architecture of the application.
The methodology presented in this chapter can be applied to any migration. Migration from Visual Basic to Visual Basic .NET, ASP to ASP.NET, and Visual C++ to Visual C++ .NET will have four stages: assessment, reverse engineering, forward engineering, and installation. However, individual steps involved in each of these stages will differ for these three technologies.