У меня есть неуправляемое приложение, которое использует управляемую библиотеку.Один из вызовов, которые выполняет управляемый компонент, относится к классу PerformanceCounterCategory
.Похоже, что каждый раз, когда к любым методам обращаются (например, PerformanceCounterCategory.Exists(String)
), CLR довольно сильно вылетает - исключения не перехватываются, и даже отладчик отключается без каких-либо ошибок.В средстве просмотра событий появляется следующее сообщение:
"Невозможно найти описание для идентификатора события 0 из источника .NET Runtime. Компонент, который вызывает это событие, не установлен на локальном компьютере илиустановка повреждена. Вы можете установить или восстановить компонент на локальном компьютере. "
" CorperfmonExt! CollectCtrs перехватил исключение c00000fd "
Я рассмотрел некоторые из возможныхрешения (большинство предполагают, что виноват поврежденный реестр), но ни одно из них не работает.Если я делаю тот же вызов в простом приложении .net 4, все работает нормально, так что я почти уверен, что настройки системы не повреждены.Этот тот же самый код прекрасно работал до .net 4.
Любое понимание приветствуется.
Редактировать: Я должен добавить, что неуправляемое приложение работает как служба.