Запрошенный счетчик производительности не является настраиваемым счетчиком, он должен быть инициализирован как ReadOnly
Я получаю повторяющиеся ошибки о свойстве ReadOnly на счетчиках производительности всякий раз, когда я пытаюсь отлаживать приложение для Windows.NET. Это приложение отлично работает на Vista x86 или Windows x86. Он просто перестает работать на моей новой 64-битной машине.
Я запускал соответствующие инсталляции InstallUtil на 64-битной и 32-битной командной строке VCVARS.bat в режиме администратора. Я получаю никаких ошибок, устанавливающих категорию и каждый счетчик perf. Но, независимо от того, устанавливаю ли перт ctrs как readonly или нет, я получаю следующее:
Запрашиваемый счетчик производительности не пользовательский счетчик, он должен быть инициализируется как ReadOnly.
UPDATE
Я снова установил машину с 32-разрядной версией Windows 7, и я странно получаю эту ошибку. Единственное, что изменилось, - это переход с Windows Vista Business на Windows 7 Professional. Это кольцо звонит?
Ответы
Ответ 1
Это связано с тем, что счетчик производительности (или категория) не существует,
но с ужасным сообщением об ошибке.
Взгляните в perfmon на счетчик, он должен отсутствовать на соответствующих машинах.
Я нахожу, что это случается с счетчиками .Net perf иногда (не знаю почему), но используя lodctr 1 получает их обратно. Если вы укажете, какой персидский счетчик вы пытаетесь получить, мы сможем дать вам больше помощи.
- Обратите внимание, что пример, построенный для .Net 1.1, соответствующим образом настраивается для разных фреймворков.
Ответ 2
Я столкнулся с вариантом этой проблемы, в то время как я мог видеть вкладку счетчика производительности .net в отражателе, на самом деле у нее не было счетчиков.
Мне пришлось повторно добавить их
lodctr /R
cd C:\Windows\Inf\.NETFramework
lodctr corperfmonsymbols.ini