“CLR20r3”代表什么? (它是什么版本的clr)

时间:2011-12-28 10:22:37

标签: .net clr crash-reports

明显的选择是" CLR版本2.0修订版3"但不幸的是没有这样的事情。我最接近确定列表的是wikipedia,但它使用主要/次要编号系统。

之所以出现这种情况,是因为我有一个客户试图运行我的.net4应用程序,但它一直在崩溃clr20r3 XmlReader.Dispose()上的MissingMethodException导致他们的计算机上的.net4安装失败,所以它没有&# 39; t有.net 4 system.xml.dll。

但在对此进行故障排除时,我试图找出clr20r3的含义(IIRC,.net 3也使用了CLR2)。

是否有人领先找出这个?搜索谷歌出现了很多人对应用程序崩溃进行故障排除,但没有关于CLR版本的信息。

感谢

2 个答案:

答案 0 :(得分:9)

这是一个字符串,它被烘焙到c:\ windows \ system32 \ wer.dll,即Windows错误报告支持dll。它是硬编码的,因此您需要与程序员交谈才能真正了解它应该是什么意思。 “公共语言运行时版本2.0修订版3”是一个很好的猜测,因为否则没有任何好的暗示“修订3”应该是什么意思。可能是微软内部的一个内部设计文档。

您可以从this answer获取有关P1到P10值的更多信息。只要确保它永远不会这么远,在WER得到崩溃时,太多有用的调试信息会丢失。为AppDomain.CurrentDomain.UnhandledException编写事件处理程序,并记录或显示e.ExceptionObject.ToString()的值。 Environment.Exit()阻止WER嗅到它。

答案 1 :(得分:5)

我想如果clr20r3代表特定版本的CLR(或其次要版本),它就不再存在了。以未捕获的异常或Environment.FailFast()结尾的.NET 4.0(CLR 4.0)进程在事件数据中生成相同的标记,在Windows事件查看器中可见。

今天,我猜,它只是Windows错误报告中用于CLR的事件类型。