2010-05-06 2 views
10

Silverlight 설치 디렉터리를 탐색 할 때 여러 프레임 워크 DLL이 예상대로 표시됩니다. 하지만 같은 이름을 가진 별도의 DLL이 있지만 DLL 이름과 확장명 사이에 .ni가 삽입 된 것을 볼 수 있습니다. 예를 들어, System.dll 및 System.ni.dll이 있습니다. 거의 모든 시스템 DLL에 대해 자매 .ni dll이있는 것으로 보입니다. 리플 렉터에서 빠르게 볼 때 동일한 내용을 포함하는 것처럼 보이지만 바이너리 크기는 훨씬 커집니다.Silverlight 바이너리 .ni.dlls는 무엇입니까?

호기심에서 벗어난 사람이라면 누구나 이들이 무엇인지 설명 할 수 있습니까?

답변

12

이들은 원시 이미지입니다. .NET 프레임 워크에는 .NET 어셈블리를 원시 시스템 코드로 컴파일 할 수있는 ngen이라는 도구가 포함되어 있습니다. Silverlight 및 .NET Framework는 어셈블리를 설치할 때 해당 어셈블리의 기본 이미지를 생성합니다.

이렇게하면 런타임에 JIT에서 컴파일 할 필요가 없으므로 이러한 어셈블리를 사용하는 모든 제품의 시작 시간을 줄일 수 있습니다.

관련 문제