tags:

views:

46

answers:

1

In browsing around the Silverlight installation directory I see a number of framework DLLs as expected. But I also see a separate DLL with the same name but with .ni inserted between the dll name and extension. For example there is a System.dll and System.ni.dll. There appears to be a sister .ni dll for almost all of the system dlls. Looking at the quickly in Reflector they appear to include the same content, but are much bigger in binary size.

Just out of curiosity, can anyone explain what these are?

+3  A: 

These are native images. The .NET framework includes a tool called ngen that can compile .NET assemblies into native machine code. Silverlight and the .NET framework generate native images of their assemblies when they are installed.

This can reduce the startup time of anything using these assemblies, as they won't have to be compiled by the JIT at runtime.

Steve Dennis