c# - System.Linq:以下方法或属性之间的调用不明确
问题描述
有一个旧的 Asp.Net 网站项目,在 VS 2015 中打开,它针对 4.0 FrameWork 版本,当我尝试构建它时,它给了我以下错误:
以下方法或属性之间的调用不明确:
System.Linq.Enumerable.Contains<TSource>(System.Collections.Generic.IEnumerable<TSource>, TSource)
和System.Linq.Enumerable.Contains<TSource>(System.Collections.Generic.IEnumerable<TSource>, TSource)
这两个方法签名看起来完全相同。
这里是类中的代码:
using System;
using System.Collections.Generic; // Gray out
using System.Linq;
using System.Web; // Gray out
using System.Web.Routing;
using System.Web.UI; // Gray out
public class UrlRoute
{
public static string RegisterRoutes(string routes)
{
string MainUrl = routes;
string result = "";
if (MainUrl.Contains('\\')==true)
{
result = "CMS"
}
return result;
}
}
项目属性:
框架细节:
我尝试了 SO 的解决方案,但没有一个有效 [删除 bin 文件夹,检查未解决的引用],不明白错误背后的原因!
编辑:
Last()
来自以下的所有扩展方法也在发生同样的事情System.Linq
:
错误 CS0121 调用在以下方法或属性之间不明确:“System.Linq.Enumerable.Last(System.Collections.Generic.IEnumerable)”和“System.Linq.Enumerable.Last(System.Collections.Generic.IEnumerable)”
如果需要,很乐意分享任何其他配置/代码。
解决方案
您很可能引用了两个版本的System.Linq.dll
. 项目应使用 GAC 的版本,而不是 BIN 的本地副本。
尝试System.Linq.dll
在 C# 项目中查找并删除显式引用。
PS 如果您在解决方案中有多个项目,请确保它们都针对相同版本的 .NET Framework。
推荐阅读
- powershell - 使用 invoke-restmethod 和 JWT auth 调用 Flask Restful API
- java - 仅使用 Java EE(Serlvets 和 Jsp)将表单中的 2 个图像作为 Blob 或路径存储在 MySQL 数据库中
- arrays - 检查数组值时Jhipster webpack编译错误
- express - 为什么 axios 会在成功的 Spotify API 调用上捕获错误?
- python - 将 Python3 与来自 C++ 的 pybind11 与 multiprocessing.Process 一起使用
- css - 为什么我的 Vue.js 过渡(CSS 动画)没有触发?
- c# - Boolean cast Specified cast is not valid error - Passing value from a case statement to a reader.GetBooleanVal
- c# - EF 跟踪与非跟踪
- python - Pandas Interpolate 函数对索引有限制吗?
- java - 运行两次方法