我创建了一个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兼容。
有人可以帮忙吗?
答案 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