我有一些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是特殊的,并不总是分布式的,我不想为可能没有正确安装它的用户造成问题。
答案 0 :(得分:1)
我通过在我的应用程序中添加对WindowsBase的引用并将其设置为始终复制来解决当前问题。然后我能够正确地在codeDom中添加引用。
我仍然对为什么需要DLL感到困惑,但我已经解决了这个问题。