gre*_*g84 9 linq reference ambiguous-call orchardcms method-invocation
我有以下代码,在.Any之后的lambda表达式下显示了一条波浪形的红线(由于System.Linq版本3.5和4.0之间的"模糊调用" - 我如何强制它使用特定版本?
它编译并运行良好.
string[] allowedExtensions = { "PNG", "JPG", "JPEG", "GIF" };
string fileExtension = (Path.GetExtension(postedFile.FileName) ?? "NULL").ToUpper().TrimStart(new[] { '.' });
if (this.MediaService.FileAllowed(postedFile)
&& allowedExtensions.Any(e => e == fileExtension))
{ ... }
Run Code Online (Sandbox Code Playgroud)
更新:
我现在已经检查了整个解决方案中的所有(60)项目,并且所有对System.dll和System.Core.dll的引用都是版本4.0 - 我真的无法理解它从哪里获得对3.5的引用.
Car*_*l G 10
在我使用Linq表达式但尚未导入'System.Linq'的文件中,ReSharper提供"引用System.Core"和"import System.Linq"后,我遇到了这个问题.当我执行ReSharper命令时,我得到一些错误,其中一部分失败了.然后我的项目中的所有Linq表达式在System.Core 3.5和4.0之间都不明确.查看我的所有System和System.Core引用,它们是4.0.删除对System.Core(4.0)的引用会导致歧义错误消失,并使System.Core从该项目的引用列表中消失.当我重新添加System.Core时,虽然它没有出现在我在解决方案资源管理器中的引用列表中,但是在"添加引用"对话框中进行了检查.试图在那里取消检查然后重新检查它会导致我的项目已经引用System.Core的错误.我仍在修复错误,所以我不知道这是否会影响构建过程.
| 归档时间: |
|
| 查看次数: |
7420 次 |
| 最近记录: |