मेरे पास एक प्रोग्राम है जो VS2008 और Vista पर ठीक काम करता है, लेकिन मैं इसे विंडोज 7 और वीएस -2010/.NET Framework 4.0 पर कोशिश कर रहा हूं और यह काम नहीं कर रहा है। आखिरकार समस्या यह है कि System.Diagnostics.PerformanceCounterCategory.GetCategories() (और अन्य प्रदर्शन काउंटर श्रेणी विधियां) काम नहीं कर रही हैं। मुझे एक सिस्टम मिल रहा है। संदेश के साथ अविश्वसनीय अपवाद अपवाद "काउंटर नाम डेटा लोड नहीं कर सकता क्योंकि रजिस्ट्री से एक अवैध अनुक्रमणिका" पढ़ी गई थी। ".NET 4.0 और विंडोज 7 पर प्रदर्शन काउंटर
मैं बहुत ही सरल नीचे दिखाया गया है कार्यक्रम के साथ इस पुन: पेश कर सकते हैं:
class Program
{
static void Main(string[] args)
{
foreach (var pc in System.Diagnostics.PerformanceCounterCategory.GetCategories())
{
Console.WriteLine(pc.CategoryName);
}
}
}
मुझे यकीन है कि मैं एक व्यवस्थापक के रूप कार्यक्रम चल रहा हूँ बनाना था। इससे कोई फर्क नहीं पड़ता कि मैं इसे वीएस/डीबगर संलग्न करता हूं या नहीं। मेरे पास इसका परीक्षण करने के लिए विंडोज 7 या वीएस -2010 के साथ एक और मशीन नहीं है, इसलिए मुझे यकीन नहीं है कि यहां चीजें जटिल हैं (या दोनों?)। यह विंडोज 7 एक्स 64 है और मैंने ऐप को x32 और x64 दोनों में चलाने की कोशिश की है, लेकिन एक ही परिणाम प्राप्त करें।
यदि आप इसके बारे में विंडोज बनाम नेट संस्करण के बारे में निश्चित नहीं हैं, तो आप .NET 3.5 को पुनर्निर्माण करने के लिए प्रोजेक्ट गुणों को बदलने की कोशिश कर सकते हैं। पुनर्निर्माण, और पुनः प्रयास करें। या आप 2008 के साथ विस्टा/एक्सपी मशीन पर एक ही कोड बना सकते हैं, और EX7 को Win7 मशीन पर कॉपी कर सकते हैं। – JMarsch
ग्रेट टिप। धन्यवाद। –