在做Ngen之后,我在哪里可以找到生成文件的位置?

pas*_*ena 22 .net c# clr ngen

我在C#可执行文件上做了Ngen.这是成功的,但我无法弄清楚生成的文件在我的PC中的位置.MSDN说它应该在原生图像缓存中,仍然无法弄清楚它在哪里.

编辑:我想对它运行objdump,因此我需要物理文件

EDIT2:我运行ngen的输出是:

C:\Documents and Settings\nmea\My Documents\Visual Studio 2008\Projects\Consol
eApplication4\ConsoleApplication4\bin\Release>ngen install ConsoleApplication4.e
xe
Microsoft (R) CLR Native Image Generator - Version 2.0.50727.3053
Copyright (c) Microsoft Corporation.  All rights reserved.
Installing assembly C:\Documents and Settings\nmea\My Documents\Visual Studio
2008\Projects\ConsoleApplication4\ConsoleApplication4\bin\Release\ConsoleApplica
tion4.exe
    Compiling assembly C:\Documents and Settings\nmea\My Documents\Visual Stud
io 2008\Projects\ConsoleApplication4\ConsoleApplication4\bin\Release\ConsoleAppl
ication4.exe (CLR v2.0.50727) ...
ConsoleApplication4, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
Run Code Online (Sandbox Code Playgroud)

Sam*_*eff 22

具体位置因版本而异,但与此类似:

C:\Windows\assembly\NativeImages_v2.0.50727_32\System.Web\ace3bede2f516f9e5bca620ad86cc063>System.Web.ni.dll
Run Code Online (Sandbox Code Playgroud)

他们开始,C:\Windows\assembly然后NativeImages_vXXX每个.NET版本都有一个子文件夹.然后每个dll都有一个子文件夹,它有一个原生图像.在另一个子文件夹下的唯一版本标识符(因此您可以从同一个dll的不同版本中获得多个本机图像).最后是本机dll本身.

请注意,您无法在Windows Exlporer中导航到此目录.使用cmd.在资源管理器中有一个shell扩展,它隐藏了GAC和本机映像如何工作的详细信息,并且只显示了更漂亮的UI.

  • 事实证明,您可以在浏览器中导航GAC - 添加了答案,不确定是否更好地作为评论. (2认同)

Tim*_*ass 21

只是在这里探讨一些类似的问题,如果您在注册表中进行更改,则可以在资源管理器中导航.

在HKEY_LOCAL_MACHINE\Software\Microsoft\Fusion下,创建名为DisableCacheViewer的DWORD条目,并将其设置为1.

之后,打开一个新的资源管理器窗口并导航到例如c:\ windows\assembly.