不兼容的参考:System.Management 4.0.0.0?

时间:2011-11-19 21:07:41

标签: c# .net system.management

我创建了一个C#4.0控制台应用程序。目标框架是.Net Framework 4 Client profile。我想计算我的CPU中的核心数量。为此,我创建了以下类:

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 Framework。到现在为止还挺好。我点击“添加”,我收到以下消息:

  

“System.Management,版本4.0.0.0,Culture = neutral,PublicKeyToken = b034543655555”与.Net Framework 4客户端配置文件不兼容为了添加它,您应该首先将项目的目标更改为兼容框架。< / p>

作为一个完整性检查,我去了这里:http://msdn.microsoft.com/en-us/library/system.management.managementobjectsearcher.aspx

...和msdn明确指出System.Management 4.0.0.0与.Net Framework 4 Client Profile兼容。

有人可以帮忙吗?

2 个答案:

答案 0 :(得分:1)

尝试使用浏览和dll的完整路径添加它

答案 1 :(得分:0)

尝试将目标框架更改为.NET Framework 4。

Client Profile和完整框架之间存在差异。 客户端配置文件虽然在框架4中运行,但不包括对完整客户端的所有引用。如果你的目标是你说你的客户将拥有“参考”列表中引用的所有系统.dll。而且我认为System.Management不是真的。

Differences between Microsoft .NET 4.0 full Framework and Client Profile