2010-01-12 16 views
35

Recibo errores repetidos sobre la propiedad ReadOnly en los contadores de rendimiento cada vez que intento depurar una aplicación de servicio .NET windows. Esta aplicación funciona bien en x86 Windows Vista o x86 Windows 2003. Simplemente ha dejado de funcionar en mi nueva máquina de desarrollo de 64 bits.El Contador de rendimiento solicitado no es un contador personalizado, tiene que inicializarse como ReadOnly

He ejecutado las invocaciones de InstallUtil pertinentes en la línea de comandos de 64 bits y 32 bits VCVARS.bat, en modo de administrador. Obtengo sin errores configurando la categoría y cada contador de incidencias. Pero, independientemente de que me puse los CTR Potencia como de sólo lectura o no, me sale esto:

El contador de rendimiento solicitado es no un contador personalizado, tiene que ser inicializado como de sólo lectura.

ACTUALIZACIÓN

Reinstalé la máquina con una versión de 32 bits de Windows 7, y extrañamente sigo teniendo este error. Lo único que ha cambiado es pasar de Windows Vista Business a Windows 7 Professional. ¿Esto te suena familiar?

+1

me encontré con este tema hace mucho tiempo y creo que terminé apenas crear un contador personalizado para lo que tenía que hacer, por lo que no es útil .. pero puedo decir que yo no era' Tiene un problema con 32 v 64 bits en esa instancia, por lo que puede no valer la pena que persiga esa cola demasiado tiempo. –

+0

Gracias Jim, estoy empezando a pensar que sería más rápido para mí pavimentar la máquina y volver a instalar las ventanas x86 que encontrar una solución a este problema. Triste. Pero cierto. –

Respuesta

49

Esto se debe al contador de rendimiento (o categoría) not existing, pero con un horrible mensaje de error.

Eche un vistazo en perfmon para el contador, debería faltar en las máquinas correspondientes.

Encuentro que esto le sucede a los contadores de .Net a veces (no tengo idea por qué) pero using lodctr los recupera. Si indica a qué perfómetro está tratando de acceder, podríamos brindarle más ayuda.

  1. Tenga en cuenta que el ejemplo forrado es para .Net 1.1, ajústelo de acuerdo con los diferentes marcos.
+4

Estoy usando .Net 4.0.30319. Intenté usar lodctr (configuración usada de v4) pero el problema persiste. He subido una captura de pantalla de mi mensaje de error aquí: http://imgur.com/eJ4uk – robasta

+1

+1. A partir de .NET 2.0 obtengo el mismo mensaje de error para un contador que no existe. –

+0

Tengo el mismo problema que robasta. por favor, sugiera de otra manera, háganos saber si necesita algún otro detalle como registro de errores de eventos, –

8

Me encontré con una variante de este problema, aunque podía ver la ficha del contador de rendimiento .net en el reflector, en realidad no tenía contadores en ella.

I had to re-add them

lodctr /R 
cd C:\Windows\Inf\.NETFramework 
lodctr corperfmonsymbols.ini 
+0

Primero tuve que descargar los contadores de rendimiento usando 'unlodctr' como se describe en la respuesta marcada. –

+0

intenta pero sigue recibiendo el mismo error. –

Cuestiones relacionadas