请求的性能计数器不是自定义计数器,必须初始化为ReadOnly

And*_*ews 37 .net performancecounter .net-3.5 windows-7

每当我尝试调试.NET Windows服务应用程序时,我都会在性能计数器上反复出现有关ReadOnly属性的错误.这个应用程序在x86 windows vista或x86 windows 2003上运行正常.它刚刚停止在我的新64位开发机上工作.

我在管理员模式下在64位和32位命令行VCVARS.bat上运行相关的InstallUtil调用.我没有设置类别和每个perf计数器的错误.但是,无论我是否将perf ctrs设置为readonly,我都会得到:

请求的性能计数器不是自定义计数器,必须初始化为ReadOnly.

UPDATE

我用32位版本的Windows 7重新安装了这台机器,奇怪的是我仍然遇到这个错误.唯一改变的是从Windows Vista Business迁移到Windows 7 Professional.这会响铃吗?

Shu*_*oUk 51

这是由于性能计数器(或类别)不存在,但带有可怕的错误消息.

看一下计数器的perfmon,它应该在相关机器上缺失.

我发现这有时会发生在.Net性能计数器上(不知道为什么)但是使用lodctr 1 会让它们回来.如果你指出你试图获得哪个性能计数器,我们可能会给你更多的帮助.

  1. 请注意,示例内容是针对.Net 1.1,相应地针对不同的框架进行调整.

  • 我使用的是.Net 4.0.30319.我尝试使用lodctr(使用v4设置),但问题仍然存在.我在这里上传了我的错误消息的屏幕截图:http://imgur.com/eJ4uk (4认同)

Dan*_*tle 8

我碰到了这个问题的一个变种,而我可以在反射器中看到.net性能计数器选项卡,它实际上没有计数器.

我不得不重新添加它们

lodctr /R
cd C:\Windows\Inf\.NETFramework
lodctr corperfmonsymbols.ini
Run Code Online (Sandbox Code Playgroud)