我正在将一个简单的库(无deps)移植到netstandard1.0
。对你们来说可能很容易,但是我看不到为什么在我拥有的简单类库上定位netstandard1.0
时出现此构建错误。
CS1061'string'不包含'Any'的定义,并且找不到扩展方法'Any'接受类型为'string'的第一个参数(您是否缺少using指令或程序集引用?)MyProject..NETStandard,版本= v1.0
因此,似乎在抱怨Any
方法。我认为是Linq库的扩展方法部分。 AFAIK,Linq是NETStandard.Libary meta程序包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
可以解决该问题,但是afaik 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/