我正在尝试在使用配置文件 158 的可移植类库项目中使用 System.Threading.Tasks.Parallel.ForEach(针对 Windows Store Apps、.NET Framework 4.5、Silverlight 5 和 Windows Phone 8 的 .NET。)我正在运行Visual Studio 专业版 2012 更新 3。
当我写这样的代码时:
var list = new List<int> {1, 2, 3, 4};
int whoCares;
System.Threading.Tasks.Parallel.ForEach(list, (item) => whoCares += item);
编译器说“名称空间'System.Threading.Tasks'中不存在类型或名称空间名称'Parallel'”(我意识到这个示例代码实际上不是线程安全的。)
我已经在 MSDN 上确认 Parallel.ForEach 支持可移植类库。如果我使用对象浏览器浏览对“.NET Portable Subset”的引用,我会看到 System.Threading.Tasks.Parallel,组件“.NET Portable Subset”的成员,它确实有 System.Threading.Tasks 的定义.Parallel.ForEach。
我必须做什么才能在我的 PCL 项目中访问 Parallel.ForEach?