在同一个代码分支上,我们在一台机器上成功构建,但在另一台机器上,我们得到了这个:
错误导入了具有等效标识的多个程序集:'...\src\packages\System.Xml.ReaderWriter.4.3.0\lib \net46\System.Xml.ReaderWriter.dll'和'C:\ Program Files(x86) )\参考程序集\ Microsoft\Framework.NETFramework\v4.6.2\Facades\System.Xml.ReaderWriter.dll'.删除其中一个重复的引用.
我们怎么解决?
Linq是否使用任何排序或其他机制来使组加入更高效,因此它不必为每个不匹配的项循环遍历整个集合?
换句话说,这是:
var x = listA.GroupJoin(
listB, a => a.prop,
b => b.prop,
(a, b) => new { a, b })
.Where(!x.b.Any()).Select(x => x.a);
Run Code Online (Sandbox Code Playgroud)
比这更有效:
var x = listA.Where(a => listB.All(b => b.prop != a.prop));
Run Code Online (Sandbox Code Playgroud)