PCL支持AsParallel()方法但.NET Standard 1.3不支持?

时间:2016-10-23 16:35:39

标签: c# .net portable-class-library portability plinq

当使用profile7(目标:.NET 4.5,Windows 8,.NET Core 1.0,Xamarin.Android,Xamarin.IOS,Xamarin.IOS Classic)坐在PCL lib中时,下面的代码可以正常编译

但是,在将PCL项目转换为.NET Standard 1.3 lib后,它失败了:

error CS1061: 'IEnumerable<string>' does not contain a definition for 'AsParallel' and no extension method 'AsParallel' accepting a first argument of type 'IEnumerable<string>' could be found (are you missing a using directive or an assembly reference?)

但是.NET Standard 1.3仍然应该支持PLINQ的AsParallel()方法,对吗? 也许我忽略了什么?是否应该为PLINQ包含额外的nuget?

using System.Collections.Generic;
using System.Linq;

namespace PclTest
{
    public class Class1
    {
        public void Test()
        {
          List<string> list = new List<string> { "foo", "bar" };

          var result = list.AsParallel().Where(x => x == "foo").ToList();

          System.Diagnostics.Debug.Assert(result.Count == 1);    
        }
    }
}

我正在使用带有所有最新更新的Visual Studio 2015

1 个答案:

答案 0 :(得分:1)

有一个名为System.Linq.Parallel的Nuget包,它在AsParallel

中提供PCL方法