The ".NET" area uses its own set of abbreviations, which can look
confusing to other people. This chapter lists some of the terms along with
their explanations:
2.1 CLI - Common Language Infrastructure
This is what most people mean when they say ".NET". The CLI defines
mainly the virtual machine, the bytecode and how everything works together. It
is both an ISO
and ECMA
standard.
2.2 CLR - Common Language Runtime
The CLR is an implementation of the CLI (often with a lot
of add-ons or tools for developers). Mono and Microsoft .NET Framework are
CLRs.
2.3 CIL - Common Intermediate Language
The CIL is the format of the bytecode for binaries and libraries used by the CLI.
2.4 ".NET" or long "Microsoft .NET Framework"
The ".NET" word is a Microsoft marketing phrase and mostly is a CLR
with added Microsoft technologies like: ASP.NET, VB.NET, System.Windows.Forms,
Passport plus a lot of other things.
We highly discourage from using any form of the word ".NET",
it is burdened by copyright and marketing. We advice to use the
correct term instead, which is usually CLI.
If you really want to use the ".NET" term in a correct form please
refer to the Microsoft
.NET Guidelines.
2.5 GAC - Global Assembly Cache
The GAC contains and manages the libraries for the CLR.
It allows users to install multiple versions of the same library and enables
loading of the right version when an application is executed.
Mono stores the GAC at /usr/lib/mono/gac
DotGNU Portable.NET stores the GAC at /usr/lib/cscc/lib
2.6 Package Names
There are different set of package names we refer in this policy to. Here a
list of examples for the different names:
assembly (file) names:
gtk-sharp.dll
log4net.dll
FlickrNet.dll
(debian) source package names:
gtk-sharp2
log4net
libflickrnet
(debian) binary package names:
libgtk2.0-cil
libgnome2.0-cil
liblog4net1.2-cil
libflickrnet2.1.5-cil
upstream package names (a good indicator is the pkg-config file name):
gtk-sharp-2.0
log4net
flickrnet
upstream tarball names (without version and file extension):