2010-01-12 33 views
35

每當我嘗試調試.NET Windows服務應用程序時,我都會在性能計數器上看到有關ReadOnly屬性的重複錯誤。這個應用程序可以在x86 windows vista或x86 windows 2003上正常運行。它僅停留在我的新64位開發機器上。請求的性能計數器不是自定義計數器,它必須初始化爲ReadOnly

我已經在管理員模式下在64位和32位命令行VCVARS.bat上運行相關的InstallUtil調用。我得到沒有錯誤設置類別和每個性能計數器。但是,不管我是否設置PERF點擊率作爲只讀與否,我得到這個:

的請求的性能計數器 不是自定義計數器,它必須是 初始化爲只讀。

UPDATE

我重新安裝機器的Windows 7 32位版本,而奇怪的是我仍然得到這個錯誤。唯一改變的是從Windows Vista Business遷移到Windows 7 Professional。這鈴響嗎?

+1

我很久以前遇到了這個問題,並認爲我結束了剛剛創建自定義計數器什麼我需要做的,所以這是沒有幫助的。但我可以說我沒」 t在這種情況下32位64位有問題,所以它可能不值得你追趕那個尾巴太久。 – 2010-01-12 06:59:54

+0

感謝Jim,我開始認爲鋪設機器並重新安裝x86窗口比找到解決此問題的方法更快!傷心。但是是真的。 – 2010-01-12 22:13:54

回答

49

這是由於性能計數器(或類別)not existing, ,但帶有可怕的錯誤消息。

看一下perfmon的計數器,它應該在相關機器上丟失。

我發現這種情況發生在.net性能計數器有時(不知道爲什麼),但using lodctr 讓他們回來。如果您指出您正在嘗試獲得的perf計數器,我們可能會給予您更多的幫助。

  1. 請注意,示例列出的是.net 1.1,因此針對不同的框架進行相應調整。
+4

我正在使用.Net 4.0.30319。我嘗試使用lodctr(使用v4設置),但問題仍然存在。我已在此處上傳了我的錯誤消息的屏幕截圖:http://imgur.com/eJ4uk – robasta 2011-12-07 14:15:34

+1

+1。從.NET 2.0開始,我得到了一個不存在的計數器的錯誤信息。 – 2013-03-22 15:21:04

+0

我有像robasta一樣的問題。如果您需要任何其他詳細信息,例如事件錯誤日誌, – 2015-05-12 11:52:27

8

我遇到了這個問題的一個變種,雖然我可以在反射器中看到.net性能計數器選項卡,但它實際上沒有計數器。

I had to re-add them

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

我必須先卸載性能計數器通過使用'unlodctr'如標記的答案中所述。 – 2014-03-28 16:01:54

+0

嘗試但仍然收到相同的錯誤。 – 2015-05-12 11:52:57

相關問題