当将PCL库放在带有profile7的PCL库中(目标:.NET 4.5,Windows 8,.NET Core 1.0,Xamarin.Android,Xamarin.IOS,Xamarin.IOS Classic)时,下面的代码可以很好地编译。

但是,将PCL项目转换为.NET Standard 1.3库之后,它将失败并显示以下信息:

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

最佳答案

有一个名为System.Linq.Parallel的Nuget程序包,它在AsParallel的程序包中提供了PCL方法。

10-08 16:19