Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Silverlight binaries what are .ni.dlls?

Tags:

silverlight

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?

like image 827
BrettRobi Avatar asked May 06 '10 18:05

BrettRobi


1 Answers

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.

like image 188
Steve Dennis Avatar answered Nov 26 '22 05:11

Steve Dennis