Я пытаюсь использовать System.Threading.Tasks.Parallel.ForEach в проекте переносимой библиотеки классов, используя профиль 158 (нацеленный на .NET для приложений Магазина Windows, .NET Framework 4.5, Silverlight 5 и Windows Phone 8.) Я запускаю Visual Studio Professional 2012, обновление 3.
Когда я пишу такой код:
var list = new List<int> {1, 2, 3, 4};
int whoCares;
System.Threading.Tasks.Parallel.ForEach(list, (item) => whoCares += item);
компилятор говорит, что «имя типа или пространства имен «Parallel» не существует в пространстве имен «System.Threading.Tasks» (я понимаю, что этот пример кода на самом деле не является потокобезопасным).
Я подтвердил в MSDN, что Parallel.ForEach поддерживается для переносимых библиотек классов. Если я использую Object Browser для просмотра моей ссылки на «.NET Portable Subset», я вижу System.Threading.Tasks.Parallel, член компонента «.NET Portable Subset», и у него действительно есть определения для System.Threading.Tasks. .Parallel.ForEach.
Что мне нужно сделать, чтобы получить доступ к Parallel.ForEach в моем проекте PCL?