2011-11-19 29 views
3

我創建了一個C#4.0控制檯應用程序。目標框架是.Net Framework 4客戶端配置文件。我想統計我的cpu中的核心數量。爲此,我創建了以下類:不兼容的參考:System.Management 4.0.0.0?

internal class MultiThreading 
{ 
    public int GetNumberOfCores() 
    { 
     var coreCount = 0; 
     foreach (var item in new System.Management.ManagementObjectSearcher("Select * from Win32_Processor").Get()) 
      coreCount += int.Parse(item["NumberOfCores"].ToString()); 

     return coreCount; 
    } 
} 

要使此代碼正常工作,它需要System.Management的引用。要在解決方案資源管理器中執行此操作,請右鍵單擊我的項目引用 - >添加引用。一個對話窗口打開並允許我選擇System.Management版本4.0.0.0。對話窗口顯示我正在使用4.0框架。到現在爲止還挺好。我點擊「添加」,我得到了以下信息:

「System.Management,版本4.0.0.0,文化=中性公鑰= b034543655555」是不符合.Net框架4客戶端配置文件爲了增加它您應該首先將項目的目標更改爲兼容的框架。

其合理性檢查我就在這裏:http://msdn.microsoft.com/en-us/library/system.management.managementobjectsearcher.aspx

...和MSDN中明確指出System.Management 4.0.0.0與.Net框架4客戶端配置文件兼容。

任何人都可以協助嗎?

+1

恩的完整路徑添加它,它也許可能有MSDN文檔上的錯誤。 您是否嘗試將項目目標更改爲.NET Framework 4? – Otiel

+0

@sapbucket - 我創建了一個新的控制檯項目,並能夠添加它就好了。是否還有其他一些細節正在被遺漏? –

+1

PublicKeyToken錯誤,應該是b03f5f7f11d50a3a。不知道如何發生。 –

回答

0

嘗試改變目標框架,以.NET框架4

有客戶檔案和完整的框架之間的差異。 客戶端配置文件雖然在框架4中運行,但不包含所有對完整參考的引用。如果你的目標是說你的客戶端將擁有「參考」列表中引用的所有系統.dll。我想這不是真的關於System.Management之一。

Differences between Microsoft .NET 4.0 full Framework and Client Profile

1

嘗試使用瀏覽和dll