アプリケーション内で CodeDom を使用してコンパイルしたい c# ソースがあります (プラグイン用)。
一部のコレクションで Linq 拡張関数を使用する場合を除いて、すべて正常に動作します
var dict = new Dictionary<KeyType, ValueType>();
....
dict.Any(KV=>KV.Key == "Some Key");
このコードを含むソースをコンパイルしようとすると、WindowsBase の DependencyObject への参照が見つからないという CodeDom のエラーが表示されます。
なぜこれが起こっているのかわかりません。Dictionary クラスも Any 拡張メソッドも、明らかに Windows.Forms の一部であるそのクラスを参照しません。
私は通常、癖を無視し、CodeDom に参照を追加させて先に進みますが、どうやら WindowsBase は特別であり、常に配布されているわけではなく、正しくインストールされていない可能性のあるユーザーに問題を引き起こしたくありません。