首页 > 解决方案 > 什么决定了 ngen 查找的程序集标识?

问题描述

ngen 如何查找原生图像?

示例 1:

我在 C:\Test\MyApp\bin\Debug\MyApp.exe 中编译 MyApp.exe v1.0.0.0 。通过ngen install MyApp.exe. 之后ngen display MyApp会告诉我,我在可执行文件的完整路径中有一个 NGen 根。ngen display MyApp.exe在目录中也会告诉我这个特定的文件安装。接下来,我更改了我的应用程序中的某些内容并重新编译它而不更改版本。为 exe 执行 ngen display 告诉我它没有安装(这很好),但为什么?ngen 存储 MyApp.ni.exe 的哈希目录是否基于文件内容

示例 2:

我按照示例 1 编译 exe,但随后将其移动到 C:\Temp\MyApp.exe,然后运行ngen display MyApp.exe​​. Ngen 会告诉我这个 exe没有安装,但是为什么?查找是否也基于程序集文件的绝对路径?

似乎 ngen 为查找计算了一个哈希值,例如 eg ComputeHash(assemblyQualifiedName, assemblyFileChecksum, assemblyFullPath),这是正确的吗?

标签: .netngen

解决方案


推荐阅读