【发布时间】:2018-01-20 04:24:08
【问题描述】:
问题很简单:我用ngen 生成了一个可执行文件,他的完整路径是:
"C:\Windows\assembly\NativeImages_v4.0.30319_32\NassilDotNet\eddb174e4a81e440633abddb977ab57a\NassilDotNet.ni.exe"
当我尝试打开/执行该可执行文件时,会显示一个错误消息对话框:此应用程序无法在您的系统上运行。请联系计算机管理员(等)...
原始可执行文件在控制台上显示 Hello World 消息。
我做错了什么?
【问题讨论】:
-
原生映像是由 CLR 在启动原始可执行文件时启动的(它会跳过可执行文件会受到的 JIT 进程),因此您不应该直接打开它们。我觉得微软把生成的图片命名为
.exe是错误的。 -
输出图像上存储的原始可执行内容静止不动,那么,如何执行呢?
-
请改写“存储在输出图像上的原始可执行内容剧照” - 我不明白你的意思。
-
NGEN 的输出是在原始可执行文件中添加了 X86 程序集以在汇编代码中运行,但此代码与原始代码存储在同一输出文件中。所以只能运行X86生成的代码...
标签: .net windows native .net-assembly cil