Saturday, 22 October 2011


1 What tools can I use to develop .NET applications?
There are a number of tools, described here in ascending order of cost:
·  The .NET Framework SDK is free and includes command-line compilers
for C++, C#, and VB.NET and various other utilities to aid
·  ASP.NET Web Matrix is a free ASP.NET development environment from
Microsoft. As well as a GUI development environment, the download
includes a simple web server that can be used instead of IIS to host
ASP.NET apps. This opens up ASP.NET development to users of
Windows XP Home Edition, which cannot run IIS.
·  Microsoft Visual C# .NET Standard 2003 is a cheap (around $100)
version of Visual Studio limited to one language and also with limited
wizard support. For example, there's no wizard support for class
libraries or custom UI controls. Useful for beginners to learn with, or
for savvy developers who can work around the deficiencies in the
supplied wizards. As well as C#, there are VB.NET and C++ versions.
·  Microsoft Visual Studio.NET Professional 2003. If you have a license for
Visual Studio 6.0, you can get the upgrade. You can also upgrade from
VS.NET 2002 for a token $30. Visual Studio.NET includes support for
all the MS languages (C#, C++, VB.NET) and has extensive wizard
At the top end of the price spectrum are the Visual Studio.NET 2003
Enterprise and Enterprise Architect editions. These offer extra features such
as Visual Sourcesafe (version control), and performance and analysis tools.
Check out the Visual Studio.NET Feature Comparison at

2 What is the CLI? Is it the same as the CLR?
The CLI (Common Language Infrastructure) is the definition of the fundamentals of
the .NET framework - the Common Type System (CTS), metadata, the Virtual
Execution Environment (VES) and its use of intermediate language (IL), and the
support of multiple programming languages via the Common Language Specification
(CLS). The CLI is documented through ECMA - see for more details.
The CLR (Common Language Runtime) is Microsoft's primary implementation of the
CLI. Microsoft also have a shared source implementation known as ROTOR, for
educational purposes, as well as the .NET Compact Framework for mobile devices.
Non-Microsoft CLI implementations include Mono and DotGNU Portable. NET.

3 What is the CTS, and how does it relate to the CLS?
CTS = Common Type System. This is the full range of types that the .NET
runtime understands. Not all .NET languages support all the types in the
CLS = Common Language Specification. This is a subset of the CTS which all
.NET languages are expected to support. The idea is that any program which
uses CLS-compliant types can interoperate with any .NET program written in
any language. This interop is very fine-grained - for example a VB.NET class
can inherit from a C# class.

No comments:

Post a Comment