.net - netstandard1.0/netstandard1.2 和 LINQ

标签 .net linq asp.net-core .net-core .net-standard

我正在将一个简单的库(没有 deps)移植到 netstandard1.0。对你们来说可能很容易,但我不明白为什么在我拥有的简单类库上以 netstandard1.0 为目标时会出现此构建错误。

CS1061 'string' does not contain a definition for 'Any' and no extension method 'Any' accepting a first argument of type 'string' could be found (are you missing a using directive or an assembly reference?) MyProject..NETStandard,Version=v1.0

所以,似乎是在提示 Any 方法;我认为是 Linq 库的扩展方法部分。 AFAIK,Linq 是 NETStandard.Libary 1.0 元包的一部分。

有问题的代码:

var numberString= "1234";
var isAllDigits = numberString.Any(t => !char.IsDigit((t))

我的project.json:

{
  "dependencies": {
       "NETStandard.Library": "1.6.0"
  },

  "frameworks": {
    "netstandard1.0": { }
  }
}

将我的 project.json 更改为 netstandard.1.2 可以解决它,但是据我所知,Linq 的东西存在于 1.0 中并且应该能够编译..?

此外,可移植性工具运行良好,并表示我的目标也可以低至 netstandard1.0

所以:

在创建针对 netstandard1.0 的库时,如何判断 System.Linq v.4.3.0 不受支持?

最佳答案

由于 .net core 的一个想法是使库尽可能小,因此 linq 和许多扩展方法都在一个额外的包中。

尝试安装 Install-Package System.Linq .

我想指出的另一件事是非常有用的工具 Reverse Package Search它允许您搜索类并找到相应的 .net 核心包。对于移植到 .net 核心非常有帮助。

关于.net - netstandard1.0/netstandard1.2 和 LINQ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40717089/

相关文章:

asp.net - 在应用程序启动时使用 Entity Framework ASP.NET Core 运行数据库迁移

c# - 使用公钥/私钥而不是共享 key 的 IdentityServer 客户端身份验证

c# - LINQ 和唯一 ID

c# - 如何强制 asp.net 控件重新加载回发数据?

c# - 为什么 System.Decimal 会忽略已检查/未检查的上下文

c# - 波浪号 (~) 解析为站点根目录而不是 asp.net 中的应用程序根目录

linq - 如何使用 Linq 和 Entity Framework 连接两个可连接对象?

c# - C# linq 是否有类似于 SummaryStatistics 的东西?

azure - 如何诊断 AspNetCore 应用程序未在 Azure 应用服务上启动?

c# - RuntimeBinderException - C# .NET 4 动态关键字 - 帮助我理解为什么方法不匹配