Проверьте, есть ли у вас код где-то вроде этого
Assembly assembly = Assembly.Load(assemblyName);
Если он у вас есть, это означает, что он может загружать неподходящую сборку. Например, System.Windows для других .net framework
В этом случаеВы могли бы использовать библиотеку, на которую ссылаются, напрямую или загрузить ее из правильного AssemblyName что-то вроде этого
foreach (var assemblyName in Assembly.GetExecutingAssembly().GetReferencedAssemblies())
{
if (assemblyName.ToString().Contains("PresentationFramework"))
{
Assembly assembly = Assembly.Load(assemblyName);
Common.AddToLog(assembly.FullName);
Type[] allTypes = assembly.GetTypes();
foreach (Type type in allTypes)
{
if (type.IsSubclassOf(typeof(DependencyObject)))
{
allControlTypes.Add(type);
}
}
}
}