【发布时间】:2013-10-15 14:58:40
【问题描述】:
在开发应用程序时,我一直在运行“ngen install ...”。但是在覆盖这些程序集之前,还没有在某些版本/场景(调试等)上运行“ngen uninstall ...”。现在我在“C:\Windows\assembly\NativeImages_v4.0.30319_64\AssemblyName\hashkey”形式的文件夹中看到了许多 *.ni.exe 和 *.ni.dll。 (dll也是内部开发的。)
我正在使用 .Net 4。
有没有办法卸载这些?我已经尝试过“ngen update”,它似乎没有触及这些孤立的原生图像。当然我可以手动删除这些,但它会扰乱我的程序集所依赖的系统 dll 上的引用计数,或者对 .net 系统产生更严重的后果。
除了占用空间之外,这些较旧的程序集还会损害启动延迟,因为程序集绑定程序试图将当前 IL 与每个本机程序集匹配。
还有比使用命令行更好的方法来查看本机图像缓存中的内容吗?
谢谢
【问题讨论】:
-
ngen uninstall AssemblyName不起作用? -
完整的程序集名称有效,谢谢! (名称,版本=x.x.x.x,文化=中性,PublicKeyToken=null)
标签: .net .net-4.0 .net-assembly ngen