2011-12-28 3 views
9

очевидным выбором будет «версия версии 2.0 CLR 2.0», но, к сожалению, такой вещи нет. Наиболее близким я могу прийти к окончательному списку wikipedia, но он использует основные/младшие системы нумерации.Что означает «CLR20r3»? (какая версия этого clr)

Причина, по которой это произошло, заключается в том, что у меня был клиент, пытающийся запустить мое приложение .net4, но он продолжал сбой с clr20r3 MissingMethodException в XmlReader. Dispose() отключает установку .net4 на своем компьютере, У меня есть .net 4 system.xml.dll.

Но когда это удалось устранить, я пытался выяснить, что означает clr20r3 (IIRC, .net 3 также использовал CLR2).

Кто-нибудь получил преимущество, чтобы понять это? поиск в google приводит к тому, что многие люди устраняют проблемы при сбоях приложений, но не знают, какая версия CLR это на самом деле.

благодаря

+0

Вы можете получить ту же ошибку, если правильная среда исполнения VC++ не установлена. – rfmodulator

ответ

9

Это строка, запеченная в c: \ windows \ system32 \ wer.dll, dll поддержки отчетов об ошибках Windows. Он жестко закодирован, поэтому вам нужно поговорить с программистом, чтобы действительно знать, что он должен был подразумевать. «Common Language Runtime version 2.0 version 3» является хорошей догадкой, как и любой другой, в противном случае нет хорошего намека на то, что означает «ревизия 3». Возможно, внутренний документ внутри Microsoft.

Вы можете получить более подробную информацию о значениях P1-P10 от this answer. Просто убедитесь, что он никогда не доходит до этого, слишком много полезной информации об отладке теряется к тому времени, когда WER попадает в аварию. Напишите обработчик события для AppDomain.CurrentDomain.UnhandledException и зарегистрируйте или отобразите значение e.ExceptionObject.ToString(). Environment.Exit(), чтобы WER не обнюхал его.

+0

отличная деталь, спасибо – JasonS

5

Я думаю, если clr20r3 когда-либо стоял на определенную версию CLR (или минорную версию его) он не больше. Процесс .NET 4.0 (CLR 4.0), который заканчивается неперехваченным исключением или Environment.FailFast(), создает тот же токен в данных события, видимый в средстве просмотра событий Windows.

Сегодня, я бы предположил, это просто тип события, используемый в Windows Error Reporting для CLR как таковой.

+0

звучит разумно, я буду отмечать это как ответ завтра, если ничего лучше не показывает :) – JasonS

Смежные вопросы