Я создал консольное приложение C # 4.0.Целевой платформой является .Net Framework 4 Профиль клиента.Я хочу посчитать количество ядер в моем процессоре.Для этого я создал следующий класс:
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 version 4.0.0.0.Диалоговое окно показывает, что я использую 4.0 Framework.Все идет нормально.Я нажимаю «Добавить» и получаю следующее сообщение:
«System.Management, версия 4.0.0.0, Culture = нейтральный, PublicKeyToken = b034543655555» несовместим с клиентским профилем .Net Framework 4.чтобы добавить его, вы должны сначала изменить> цель проекта на совместимую платформу.
В качестве проверки работоспособности я пошел сюда: http://msdn.microsoft.com/en-us/library/system.management.managementobjectsearcher.aspx
... и msdn ясно заявляет, чтоSystem.Management 4.0.0.0 совместим с клиентским профилем .Net Framework 4.
Кто-нибудь может помочь?