1.
In order to run a managed executable on a given machine, which of the following must
be installed on that machine?
Just the managed executable The managed executable and the CLR The managed executable, the CLR, and the .NET Framework Software Development Kit
The managed executable is obviously necessary since it contains the code to be executed.
In addition, since it is a managed executable, the execution engine (the CLR) must also
be installed. The .NET Software Development Kit is not needed for execution, just
development.
2.
True or false: different .NET languages have different capabilities.
True False
The .NET languages vary in the facilities they offer. However, in order to be a .NET
language they must at least support the minimum set of features defined by the
Common Language Specification (CLS).
3.
True or false: the C# compiler emits processor specific instructions.
True False
The C# compile emits Common Intermediate Language (IL) which is closer to
the machine than C# source code but is still processor independent.
4.
True or false: the CLR compiles a method every time it is called.
True False
Methods are compiled only the first time they are called. The compiled
code is cached and used for all subsequent calls.
5.
True or false: the code generated by the JIT compiler is saved out to the file
system and used the next time a managed executable is executed in order to reduce
startup times.
True False
The code generated by the JIT compiler is stored in transient in-memory buffers
within the process. When the process exits, the JITed code is discarded.
6.
True or false: a program written in C# can only interoperate with libraries written in C#.
True False
Compilers for .NET language all emit Common Intermediate Language (IL). This enables
components written in any .NET language to interoperate.