Transform an entity from a type to another
public static dynamic Transform(Type type, string path)



If I should return an object of any type I'd rather use the object type for it then dynamic. I don't know how you actually use it so I assume that all objects have some set of common properties but don't share a any common interface.

In that case I think it would make more sense to create an artifical wrapper for those objects so that you can read those properties (or methods) without having to use dynamic everywhere.

public class Fruit // = ExternalDllTwoEntityWrapper
{ 
    private readonly dynamic _value;
    Fruit(object obj) =&gt; _value = obj;
    public string Name =&gt; (string)_value.Name;
}


Whether you use dynamic or reflection internally to access those properties is another question.

If you however can change one of those external dlls then an abstraction would be the obvious way to solve this:

public interface IFruit
{
    string Name { get; }
}