что означает "CLR20r3"? (что это за версия) - PullRequest
9 голосов
/ 28 декабря 2011

очевидным выбором будет «версия 2 CLR 2.0», но, к сожалению, такого нет.Самый близкий к окончательному списку, который я могу найти, это wikipedia , но в нем используются основные / второстепенные системы нумерации.

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

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

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

спасибо

Ответы [ 2 ]

9 голосов
/ 28 декабря 2011

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

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

5 голосов
/ 28 декабря 2011

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

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

...