2010-05-06 5 views
10

Beim Durchsuchen des Silverlight-Installationsverzeichnisses sehe ich eine Reihe von Framework-DLLs wie erwartet. Aber ich sehe auch eine separate DLL mit dem gleichen Namen, aber mit .ni eingefügt zwischen dem DLL-Namen und der Erweiterung. Zum Beispiel gibt es eine System.dll und System.ni.dll. Es scheint eine Schwester-DLL für fast alle System-DLLs zu geben. Wenn man sich die Reflektoren in Reflector ansieht, scheinen sie den gleichen Inhalt zu enthalten, sind aber viel größer in der binären Größe.Silverlight-Binärdateien Was sind .ni.dlls?

Nur aus Neugier, kann jemand erklären, was das sind?

Antwort

12

Dies sind native Bilder. Das .NET-Framework enthält ein Tool namens ngen, mit dem .NET-Assemblies in systemeigenen Maschinencode kompiliert werden können. Silverlight und das .NET Framework generieren bei der Installation systemeigene Images ihrer Assemblys.

Dies kann die Startzeit von irgendetwas reduzieren, das diese Assemblys verwendet, da sie zur Laufzeit nicht vom JIT kompiliert werden müssen.