Mixing generic methods and extension methods
问题 I created the Class1.GetChild<T>() where T : DependencyObject extension method in lib1.dll assembly. After that, all assemblies that depends on lib1.dll failed to compile with error: The type 'System.Windows.DependencyObject' is defined in an assemebly that is not referenced. You must add a reference to assembly 'WindowsBase' etc... Why dependent assemblies requires WindowsBase even if they don't use GetChild ? . To reproduce (vs2010 .net4): lib1.dll (references WindowsBase ) namespace lib1 {