NGen 对我的电脑不满意,我找不到深入了解问题所在的方法。
每次启动后,ngen 都会记录以下消息:
.NET 运行时优化服务 (clr_optimization_v2.0.50727_32) - 服务达到瞬时错误的限制。将关闭。从服务管理器返回的最后一个错误:0x8000ffff。
当我尝试在命令行启动优化服务时,我再次记录了同样的错误。
我设法启动了 ngen 服务并立即暂停队列(通过编写一个两行批处理文件,如下所示:
净启动 clr_optimization_v2.0.50727_32
ngen 队列暂停
所以现在我尝试通过执行不同状态级别的项目来清除队列,如下所示:
ngen executequeueditems 3 /nologo /verbose
但结果总是:
灾难性故障(HRESULT 异常:0x8000FFFF (E_UNEXPECTED))
...一路上我已经卸载/重新安装了 Visual Studio 2008。我已经卸载了 SQL Server 2005,并且我已经运行了“系统文件检查器”:sfc /scannow
缺乏想法,希望得到 ngen 专家的帮助。
我如何获得诸如“导致这些灾难性故障的原因是什么?”之类的信息。(请注意,/verbose 选项不会增加我发现的信息量。“要生成的队列中有哪些文件?”——我可以删除其中的一些文件,或者将责任归咎于特定文件。 ..
卸载和重新安装 .net framework 2.0 并不容易,因为这是 vista,它是操作系统的受保护部分。
更新:我也尝试过这里提供的建议(并在第一个回复中提到)——但我只是得到同样的灾难性失败消息。
C:\Windows\Microsoft.NET\Framework\v2.0.50727>ngen executequeueditems /nologo 灾难性故障(来自 HRESULT 的异常:0x8000FFFF (E_UNEXPECTED))