Terms
- Common Language Specification (CLS): defines standard rules for editing .NET languages (1).
- Common Type System (CTS): a .NET standard that specifies how Type definitions and specific values of Types are represented in computer memory (2). Types that are supported by CTS are both references and values (1).
- Common Language Runtime (CLR): “a special run time environment” (3) and Virtual Machine (13) ”that provides the underlying infrastructure for Microsoft’s .NET framework. This runtime is where the source code of an application is compiled into an intermediate language called CIL (Common Intermediate Language), originally known as MSIL (Microsoft Intermediate Language). When the program is then run, the CIL code is translated into the native code of the operating system using a just-in-time (JIT) compiler. This intermediate language is used to keep the environment platform-neutral and as a result, supports all .NET languages such as C# or VB.NET.” (3)
- Global Assembly Cache (GAC): the “machine-wide code cache” on a comoputer that has the CLR installed on it, where the assemblies that are to be shared by several .NET applications are to be stored (15).
- Microsoft intermediate language (MSIL): the assembly language that is created by .NET compilers (4).
- Portable Execution (PE) file: file that contains the MSIL code and metadata that is based on the Microsoft Portable Execution and Common Language Object File Format (COFF) and extends the aforementioned published specifications (5).
- MSIL Assembler (Ilasm.exe): tool which generates the PE file using the MSIL code as input (6).
- MSIL Disassembler (Ildasm.exe): companion tool to the MSIL Assembler that takes a PE file and creates text that would be used as input for the MSIL Assembler (7).
- Pre-JIT: “compiles entire code into native code at one stretch” (8).
- Econo-JIT: “compiles code part by part freeing when required” (8).
- Normal-JIT: “compiles only that part of code when called and places in cache” (8).
- .NET Objuscation: prevents a .NET dll from being decompiled (9).
- Native Image: used by the Native Image Generator to access, load, and execute an assembly. Running the Native Image of an assembly is faster than running the MSIL assembly because the MSIL assembly must be JIT compiled by the CLR (10) and thus its code must be run dynamically, whereas the Native Image uses the assembly cache to restore the assembly’s code and data structures (11).
- Native Image Cache: “a reserved area of the Global Assembly Cache” (GAC) (11).
- Native Image Generator (Ngen.exe): A tool that can be used to precompile a Windows application (1). It “creates a native image from a managed assembly and installs it into the Native Image Cache on the local computer” (11). Running this tool on the Native Image of the assembly allows that assembly to be loaded and executed faster because the Native Image “restores the code and data structures from the Native Image Cache rather than generating them dynamically” (11). The use of this tool is known as “Pre-JITing” and “makes JIT-compiling unnecessary” (10).
- Code Access Security Policy Tool (Caspol.exe): a tool which “enables users and administrators to modify security policy for the machine policy level, the user policy level, and the enterprise policy level” (12).
- .NET Framework Configuration Tool (Mscorcfg.msc): a “snap-in” in the Microsoft Management Console (MMC) that allows you to manage and edit assemblies in the Global Assembly Cache (GAC), security policies, and remote services (14).
- An assembly is a logical unit of deployment (1).
- CLR is an execution engine of .NET (1).
- CLR executes manage code (1).
- Net does NOT provide cross language interoperability using code access security (1).
- The content of an assembly can be viewed using ILDASM.exe (1).
- Facts about garbage collection in .NET include that
- it manages the reclamation of unused memory,
- it does deal with circular references, and
- it disposes of unreferenced objects (1).
- There are three Just-in-time (JIT) types in .NET:
- Pre-JIT
- Econo-JIT
- Normal-JIT (8).
- A “strong name”
- is similar to GUID in COM
- is required when the assembly in GAC needs to be deployed, and
- “helps GAC differentiate between [two] versions” of something (1).
- .NET Objuscation
- will not decompile a dll into its actual sorce code, and
- it does not determine if a piece of code is allowed to run in .NET (9).
- .NET code will actually execute the CLR (1).
- The Assembly manifest contains information about the assembly of a .NET project and the resources that that assembly depends on (1).
- The content of an assembly manifest are its
- Version Number,
- Strong Name,
- Culture, and
- Assembly Name (1).
- The “using” or “imports” statements are “[used] to reference an external library” and NOT to “[allow] references to member of a namespace without using [a] fully qualified name” (1).
- Structures
- are value types,
- use the “new” keyword when instantiated, and
- can have events as members (1).
- The tools used to modify configuration files are
- Mscorcfg.msc, and
- Caspol.exe (1).
- The “limitation of XML serialization” is that “it doesn’t serialize type information” (1).
- Framework Test. CareerRide.com. Retrieved May 24, 2011 9:06 e.s.t. from Framework online test
- Common Type System. Wikipedia.org. Retrieved May 24, 2011 9:07 e.s.t. from Common Type System - Wikipedia, the free encyclopedia
- Common Language Runtime. Wikipedia.org. Retrieved May 24, 2011 9:16 e.s.t from Common Language Runtime - Wikipedia, the free encyclopedia
- Microsoft Intermediate Language (MSIL). © CSharp-Online.NET. Retrieved May 24, 2011 9:26 e.s.t from http://en.csharp-online.net/Microsoft_Intermediate_Language_(MSIL)
- Managed Execution Process. MSDN.com. Retrieved May 24, 2011 9:33 e.s.t. from Managed Execution Process
- Ilasm.exe (MSIL Assembler). MSDN.com Retrieved May 24, 2011 9:37 e.s.t. from Ilasm.exe (MSIL Assembler)
- MSIL Disassembler (Ildasm.exe). MSDN.com. Retrieved May 24, 2011 9:38 e.s.t. from http://msdn.microsoft.com/en-us/library/f7dy01k1(v=vs.80).aspx
- AparnaG. (May 16, 2006) RE: Types of JIT Compiler. .NET Framework Developer Center. Retrieved May 24, 2011 9:46 e.s.t. from Types of JIT Compiler
- .NET objuscation solution. DotNETSpider.com. Retrieved May 24, 2011 at 9:55 e.s.t. from View Practice Test Question
- Glossary
efinition – Native Image Generator Tool. © CSharp-Online.NET. Retrieved May 24. 2011 at 10:30 e.s.t. from Glossary
efinition - Native Image Generator Tool at C# Online.NET
- Native Image Generator (Ngen.exe). MSDN.com. Retrieved May 24, 2011 at 10:25 e.s.t. from http://msdn.microsoft.com/en-us/library/6t9t5wcf(v=vs.71).aspx
- Code Access Security Policy Tool (Caspol.exe). MSDN.com Retrieved May 24, 2011 at 10:49 e.s.t. from http://msdn.microsoft.com/en-us/library/cb6t8dtz(v=vs.80).aspx
- Virtual Machine. Wikipedia.org. Retrieved May 24, 10:54 e.s.t. from Virtual machine - Wikipedia, the free encyclopedia
- .NET Framework Configuration Tool (Mscorcfg.msc). MSDN.com. Retrieved May 24, 2011 at 10:56 e.s.t. from http://msdn.microsoft.com/en-us/library/2bc0cxhc(v=vs.80).aspx
- Global Assembly Cache. MSDN.com. Retrieved May 24, 2011 at 11:02 e.s.t. from http://msdn.microsoft.com/en-us/library/yf1d93sz(v=vs.80).aspx