使用Linq方法导致在WindowsBase中缺少对DependencyObject的引用

时间:2010-06-12 03:49:11

标签: c# linq compilation codedom dependencyobject

我有一些c#源代码,我想在我的应用程序中使用CodeDom进行编译(对于插件)

除非我在某些收藏中使用Linq扩展功能

,否则一切正常
var dict = new Dictionary<KeyType, ValueType>();
....
dict.Any(KV=>KV.Key == "Some Key");

当我尝试编译具有此代码的源代码时,CodeDom会抱怨我在WindowsBase中缺少对DependencyObject的引用。

我不明白为什么会这样。 Dictionary类或Any扩展方法都不引用该类,它显然是Windows.Forms的一部分

我通常会忽略这个怪癖,让CodeDom添加引用并继续前进,但显然WindowsBase是特殊的,并不总是分布式的,我不想为可能没有正确安装它的用户造成问题。

1 个答案:

答案 0 :(得分:1)

我通过在我的应用程序中添加对WindowsBase的引用并将其设置为始终复制来解决当前问题。然后我能够正确地在codeDom中添加引用。

我仍然对为什么需要DLL感到困惑,但我已经解决了这个问题。