Что определяет идентичность сборки для поиска ngen? - PullRequest
0 голосов
/ 01 ноября 2019

Как ngen ищет собственные изображения?

Пример 1:

Я компилирую MyApp.exe v1.0.0.0 в C: \ Test \ MyApp \ bin\ Debug \ MyApp.exe. Я использую MyApp.exe через ngen install MyApp.exe. После этого ngen display MyApp скажет мне, что у меня есть корень NGen на полном пути к исполняемому файлу. ngen display MyApp.exe в каталоге также скажет мне, что этот конкретный файл установлен. Затем я что-то изменяю в своем приложении и перекомпилирую без изменения версии . Выполнение ngen display для exe говорит мне, что он НЕ установлен (что приятно), но почему? Является ли каталог хэша, в котором ngen хранит файл MyApp.ni.exe, на основе файла contents ?

Пример 2:

Я компилирую exe-файл, как в примере 1, но затем я перемещаю его в C: \ Temp \ MyApp.exe и запускаю ngen display MyApp.exe,Нген скажет мне, что этот exe не установлен, но почему? Основан ли поиск также на абсолютном пути к файлу сборки?

Кажется, что ngen вычисляет хеш для поиска, такой как, например, ComputeHash(assemblyQualifiedName, assemblyFileChecksum, assemblyFullPath), это правильно?

...