2010-05-06 11 views
10

Durante la navigazione nella directory di installazione di Silverlight, vedo un numero di DLL framework come previsto. Ma vedo anche una DLL separata con lo stesso nome ma con .ni inserito tra il nome della DLL e l'estensione. Ad esempio c'è un System.dll e System.ni.dll. Sembra che ci sia una sorella .ni dll per quasi tutte le DLL di sistema. Guardando velocemente in Reflector, sembrano includere lo stesso contenuto, ma sono molto più grandi nelle dimensioni binarie.Binari di Silverlight cosa sono .ni.dll?

Solo per curiosità, qualcuno può spiegare cosa sono?

risposta

12

Queste sono immagini native. Il framework .NET include uno strumento chiamato ngen che può compilare gli assembly .NET nel codice macchina nativo. Silverlight e il framework .NET generano immagini native dei loro assembly quando vengono installati.

Questo può ridurre il tempo di avvio di qualsiasi cosa utilizzando questi assembly, in quanto non dovranno essere compilati dal JIT in fase di runtime.