Le compteur de performances demandé n'est pas un compteur personnalisé, il doit être initialisé en lecture seule
je reçois des erreurs répétées à propos de la propriété ReadOnly sur les compteurs de performances chaque fois que j'essaie de déboguer une application de service Windows. Cette application fonctionne très bien sur windows vista x86, ou windows 2003 x86. Il a juste arrêté de travailler sur ma nouvelle machine 64bit dev.
j'ai lancé les invocations InstallUtil pertinentes sur les VCVARS 64bit et 32bit en ligne de commande.bat, en mode administrateur. J'obtiens pas d'erreurs configurer la catégorie et chaque compteur de perf. Mais, indépendamment de que je définisse le perf ctrs comme readonly ou non, j'obtiens ceci:
le compteur de performances demandé est pas un compteur personnalisé, il doit être initialisé en lecture seule.
UPDATE
j'ai réinstallé la machine avec une version 32 bits de Windows 7, et bizarrement j'ai toujours cette erreur. La seule chose qui a changé est de passer de Windows Vista Business à Windows 7 Professional. Est-ce à sonner les cloches?
3 réponses
ceci est dû à la performance counter (ou catégorie) pas, mais avec un message d'erreur horrible.
jetez un coup d'oeil dans perfmon pour le compteur, il devrait être absent sur les machines pertinentes.
j'ai trouver ce qui se passe à la .Net perf compteurs parfois (aucune idée pourquoi) mais utilisation de lodctr1 amène de nouveau. Si vous indiquez le compteur de perf que vous essayez d'obtenir à nous pourrions être en mesure de vous donner plus aider.
- notez que la ligne d'exemple est pour .Net 1.1, ajuster pour différents cadres en conséquence.
j'ai rencontré une variante de ce numéro, alors que je pouvais voir l'onglet .net performance counter dans reflector il n'y avait en fait pas de compteurs à l'intérieur.
lodctr /R
cd C:\Windows\Inf\.NETFramework
lodctr corperfmonsymbols.ini
j'ai passé quelques bonnes heures sur cette question, en suivant toutes les instructions trouvées sur le web, donc j'ai décidé de partager ma solution, peut-être que cela fera gagner du temps aux autres. Enfin j'ai eu un indice sous l'un des liens dans les commentaires:
vous devez exécuter Visual Studio en tant qu'administrateur
mon application utilise MassTrasit avec RabbitMQ, et il a échoué sur l'envoi de messages à la file d'attente. Apparemment il ajoute quelques compteurs de perf sous le capot et il il a échoué sans privilèges Admin avec cette erreur très descriptive. Chose drôle, vous aurez besoin de l'exécuter en tant qu'administrateur seulement la première fois (c'est ce qui m'a trompé).