c# - 它说调用不明确,但只有一个命名空间
问题描述
我正在将一些代码移植到 .NET Standard 2.1,现在执行此操作时出现错误:
tmpQuote.SpecialCosts.RemoveAll(cqMainCost => dsSpecialCosts.Tables[0].AsEnumerable().Any(row => cqMainCost.Name == row.Field("CostName")));
它在 AsEnumerable() 上失败
以下方法或属性之间的调用不明确:“System.Data.DataTableExtensions.AsEnumerable(System.Data.DataTable)”和“System.Data.DataTableExtensions.AsEnumerable(System.Data.DataTable)”
通常在相同的方法名称之间存在歧义,但在两个不同的命名空间中。
在同一个命名空间中,相同的方法名称之间存在歧义吗?
该项目正在引用 nuget 包:System.Data.DataSetExtensions 该项目还引用了其他项目,这些项目又引用了相同的 nuget 包。
但这是很常见的事情,从来没有给我造成过这个问题。
更新:发现这个:https ://github.com/dotnet/standard/issues/1622
这让我更仔细地研究了其他被引用的项目,它们是 2.0 而不是 2.1 将我的项目更改为 2.0 解决了这个问题。
解决方案
问题是它是一个网络标准 2.1 项目,引用了其他网络标准 2.0 项目。并且 DataSetExtensions 在 2.0 和 2.1 中并不相同
将项目更改为 2.0 解决了问题
推荐阅读
- ios - 与 FBSDK 共享视频时如何显示对话框?
- c++ - 程序需要 2 个罗马数字作为输入,1 个作为输出。这里的解决方案似乎挂起。我能做些什么来防止挂起?
- php - 按元键对 Wordpress 中的类别帖子进行排序
- c# - 使用 EF Core 在 linq 中使用索引的嵌套选择投影
- geospatial - 如何在 Geogam 分析中包含分类协变量?
- java - 通过 http 运行 livy 作业,无需每次都上传 jar
- xamarin - 在 Xamarin UWP 应用程序中从远程网络共享打开文件
- r - R 如何制作 .pkg 文件以在 Mac OS X 上安装?
- java - 两个异步任务在android studio中不能同时工作
- java - 限制每次执行结构化流查询时扫描的 S3 分区