NGen在我的电脑上很不开心,我找不到办法深入了解出了什么问题。
每次启动后,ngen都会记录这条消息:
.NET运行时优化服务(clr_optimization_v2.0.50727_32) -服务达到瞬态错误的极限。会被关闭。上次从Service返回的错误: 0x8000ffff。
当我试图在命令行启动优化服务时,再次记录同样的错误。
我成功地启动了ngen服务并立即暂停了队列(编写了两行批处理文件,如下所示:
净启动clr_optimization_v2.0.50727_32 ngen队列暂停
因此,现在我尝试通过在不同的状态级别上执行项来清除队列,如下所示:
ngen可执行队列项3 /nologo /verbose
但结果总是:
灾难性故障( HRESULT: 0x8000FFFF (E_UNEXPECTED)除外)
...along是我卸载/重新安装visual 2008的方式。我已经卸载了SQL server 2005,并运行了“系统文件检查器”:sfc /scannow
缺乏想法,希望能得到一位专家的帮助。
我如何获得诸如“是什么导致了这些灾难性的失败”之类的信息?(请注意,/verbose选项不会增加我发现的信息量。“队列中将生成哪些文件?”
卸载和重新安装.net框架2.0并不容易,因为这是vista,是操作系统的一个受保护的部分。
更新:我也尝试了向这里提供的建议(并在第一次回复中提到) --但我只得到了同样的灾难性失败信息。
C:\Windows\Microsoft.NET\Framework\v2.0.50727>ngen可执行队列项目/nologo灾难性故障( HRESULT: 0x8000FFFF (E_UNEXPECTED)例外)
发布于 2009-02-12 13:31:57
在回答问题的这一部分时:
“是什么导致了这些灾难性的失败?”
有两个日志文件可以帮助回答这个问题:
C:\Windows\Microsoft.NET\Framework\v2.0.50727\ngen.log
C:\Windows\Microsoft.NET\Framework\v2.0.50727\ngen_service.log(以及通常的应用程序日志,尽管它不太有用)
答复如下:
“要生成的队列中有哪些文件?”
通常的答案是,通过运行可以看出这一点:
ngen.exe display(虽然在我的例子中,它只会返回
NGEN Roots:
Catastrophic failure (Exception from HRESULT: 0x8000FFFF (E_UNEXPECTED)))
发布于 2009-02-07 19:03:48
来自这
.NET运行时优化服务尝试重新编译它认为是临时错误的程序集;示例包括RPC错误、内存不足错误等。然而,在它尝试编译相同的程序集20次之后,它仍然失败了,它输出上述消息并关闭。我看到您已经尝试从您的计算机上卸载.NET Framework2.0并重新安装它,但是仍然存在此错误。我猜,试图修复安装也没有帮助。您是否可以尝试从%WINDIR%\Microsoft.NET\Framework\v2.0.50727运行"ngen.exe ExecuteQueuedItems“和"ngen.exe更新”?这将尝试编译没有任何/最新的32位NGen映像的所有程序集,而无需经过优化服务。一旦update命令完成,您能否再次尝试启动服务并检查是否仍然在系统日志中获得相同的消息?如果这个问题不是特定于服务,我希望您也会看到命令行输出中的编译错误。
发布于 2009-09-02 13:43:33
我也遇到了同样的问题(安装Asp 1.0)。为了寻找答案,我发现哈克德博客已经解释了一些原因。为了解决这个问题,我花了两个小时的时间,非常沮丧,以至于我用了
ngen /delete *啊,真灵。但我不确定这是否会造成小灾难;/
也许这会有帮助..。
https://stackoverflow.com/questions/523879
复制相似问题