[ACCEPTED]-Where can I find location of generated file after doing Ngen?-ngen

Accepted answer
Score: 24

The exact location will vary by version 14 but it will be something similar to this:


They 13 start in C:\Windows\assembly and then there is a subfolder 12 NativeImages_vXXX for each .NET version. Then there is a 11 subfolder for each dll that has a native 10 image. Under that another subfolder for 9 a unique version identifier (so you can 8 have multiple native images from different 7 versions of the same dll). Finally the 6 native dll itself.

Note that you cannot navigate 5 to this directory in Windows Exlporer. Use 4 cmd. In Explorer there is a shell extension 3 that hides the details of how the GAC and 2 native images work and just shows you a 1 prettier UI.

Score: 22

Just exploring some similar issues here 6 and you can navigate the GAC in explorer 5 if you make a change in the registry.

Under 4 HKEY_LOCAL_MACHINE\Software\Microsoft\Fusion 3 create a DWORD entry named DisableCacheViewer, and 2 set it to 1.

After that, open a new explorer 1 window and navigate to e.g. c:\windows\assembly.

Score: 2

You'll find them in the NativeImages_blabla 7 folder in c:\windows\assembly. Also I've 6 noted that .NET 3.5 and above actually does 5 not allow physically accessing the NGENed 4 image. I guess it reverted to using one 3 large database for all files but I cant 2 be sure since the generated images are no 1 where to be seen on the disk.

Score: 2

Try ngen display AssemblyName /verbose | findstr "File:"

ex: %windir%\Microsoft.NET\Framework\v4.0.30319\ngen.exe 1 display System.Xaml /verbose | findstr "File:"

Score: 1

Well, you see it took a long long time to 12 find where the location is!

Well, it is inside 11 c:\Windows\assembly folder, but when I opened this folder then 10 I was only be able to see the .NET assemblies, so 9 I thought there will be some hidden folders. So 8 I open the command prompt with administrative 7 privileges then I was able to see list of 6 folders as shown below...

GAC,  GAC_32,  GAC_64,  GAC_MSIL,  NativeImages_v2.0.50727_32
NativeImages_v2.0.50727_64,  NativeImages_v4.0.30319_32,

You see it's amazing. I 5 mean, here I can only see the required folders, but 4 not the assemblies. Well, no problem, be 3 happy.

So my application was built in v4 and 2 64-bit compilation so therefore my required 1 EXE file was in the root of the NativeImages_v4.0.30319_64 folder.

More Related questions